后端第一步开发完成,第一版回归测试完成
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
为 projects 表增加四个日期原文列(若不存在)。
|
||||
用法:cd backend && PYTHONPATH=src python3 scripts/migrate_add_date_str_columns.py
|
||||
"""
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
_backend = Path(__file__).resolve().parent.parent
|
||||
if str(_backend) not in sys.path:
|
||||
sys.path.insert(0, str(_backend))
|
||||
|
||||
from src.database import get_connection
|
||||
|
||||
ALTER_SQL = """
|
||||
ALTER TABLE projects
|
||||
ADD COLUMN sign_date_str varchar(128) DEFAULT NULL COMMENT '签订日期原文:日期正常或导入字符串' AFTER sign_date,
|
||||
ADD COLUMN start_date_str varchar(128) DEFAULT NULL COMMENT '开工日期原文' AFTER start_date,
|
||||
ADD COLUMN planned_completion_date_str varchar(128) DEFAULT NULL COMMENT '计划竣工日期原文' AFTER planned_completion_date,
|
||||
ADD COLUMN actual_completion_date_str varchar(128) DEFAULT NULL COMMENT '实际竣工日期原文' AFTER actual_completion_date;
|
||||
"""
|
||||
|
||||
def main():
|
||||
with get_connection() as conn:
|
||||
cur = conn.cursor()
|
||||
try:
|
||||
cur.execute(ALTER_SQL)
|
||||
conn.commit()
|
||||
print("已为 projects 表添加 sign_date_str、start_date_str、planned_completion_date_str、actual_completion_date_str 列。")
|
||||
except Exception as e:
|
||||
if "Duplicate column name" in str(e):
|
||||
print("列已存在,无需迁移。")
|
||||
else:
|
||||
raise
|
||||
finally:
|
||||
cur.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user