重构数据库创建部分
This commit is contained in:
48
model/object.py
Normal file
48
model/object.py
Normal file
@@ -0,0 +1,48 @@
|
||||
# my_project/models/download.py
|
||||
|
||||
from typing import Literal, Optional, TYPE_CHECKING
|
||||
from sqlmodel import Field, Column, SQLModel, String, DateTime
|
||||
from .base import BaseModel
|
||||
from datetime import datetime
|
||||
|
||||
from .base import BaseModel
|
||||
|
||||
"""
|
||||
原建表语句:
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fr_objects (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
key TEXT NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
icon TEXT,
|
||||
status TEXT,
|
||||
phone TEXT,
|
||||
context TEXT,
|
||||
find_ip TEXT,
|
||||
create_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
lost_at TIMESTAMP
|
||||
"""
|
||||
|
||||
if TYPE_CHECKING:
|
||||
pass
|
||||
|
||||
class Object(SQLModel, BaseModel, table=True):
|
||||
__tablename__ = 'fr_objects'
|
||||
|
||||
key: str = Field(index=True, nullable=False, description="物品外部ID")
|
||||
type: Literal['object', 'box'] = Field(
|
||||
default='object',
|
||||
description="物品类型",
|
||||
sa_column=Column(String, default='object', nullable=False)
|
||||
)
|
||||
name: str = Field(nullable=False, description="物品名称")
|
||||
icon: Optional[str] = Field(default=None, description="物品图标")
|
||||
status: Optional[str] = Field(default=None, description="物品状态")
|
||||
phone: Optional[str] = Field(default=None, description="联系电话")
|
||||
context: Optional[str] = Field(default=None, description="物品描述")
|
||||
find_ip: Optional[str] = Field(default=None, description="最后一次发现的IP地址")
|
||||
lost_at: Optional[datetime] = Field(
|
||||
default=None,
|
||||
description="物品标记为丢失的时间",
|
||||
sa_column=Column(DateTime, nullable=True)
|
||||
)
|
||||
Reference in New Issue
Block a user