初始化
This commit is contained in:
30
app/models/checkpoint.py
Normal file
30
app/models/checkpoint.py
Normal file
@@ -0,0 +1,30 @@
|
||||
from sqlalchemy import Column, Integer, String, DateTime
|
||||
|
||||
class Checkpoint:
|
||||
"""观测点数据表结构定义 - 动态分表"""
|
||||
|
||||
@staticmethod
|
||||
def get_table_name(account_id: int) -> str:
|
||||
return f"checkpoint_{account_id}"
|
||||
|
||||
@staticmethod
|
||||
def get_create_sql(account_id: int) -> str:
|
||||
table_name = Checkpoint.get_table_name(account_id)
|
||||
return f"""
|
||||
CREATE TABLE IF NOT EXISTS `{table_name}` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '观察点名称',
|
||||
`burial_date` datetime DEFAULT NULL COMMENT '埋设日期',
|
||||
`objstate` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '测点状态',
|
||||
`monitoring_type` varchar(100) DEFAULT NULL COMMENT '监测类型',
|
||||
`period_number` int DEFAULT NULL COMMENT '量测期次',
|
||||
`first_time` datetime DEFAULT NULL COMMENT '首测时间',
|
||||
`manufacturer` varchar(100) DEFAULT NULL COMMENT '负责厂商',
|
||||
`point_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '测点编码',
|
||||
`point_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '观察点id',
|
||||
`section_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '所属断面id',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_point_id` (`point_id`),
|
||||
KEY `idx_section_id` (`section_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='观测点数据表';
|
||||
"""
|
||||
Reference in New Issue
Block a user