Files
Document_Translator/update_db.py
beabigegg 6eabdb2f07 16th_fix
2025-09-04 18:34:05 +08:00

42 lines
1.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
更新數據庫模式,添加軟刪除字段
Author: PANJIT IT Team
"""
from app import create_app, db
if __name__ == '__main__':
app = create_app()
with app.app_context():
try:
# 檢查是否需要添加 deleted_at 字段
from sqlalchemy import text
# 檢查 deleted_at 字段是否存在MySQL語法
with db.engine.connect() as connection:
result = connection.execute(text("""
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'dt_translation_jobs'
"""))
columns = [row[0] for row in result.fetchall()]
if 'deleted_at' not in columns:
print("添加 deleted_at 字段...")
connection.execute(text("ALTER TABLE dt_translation_jobs ADD COLUMN deleted_at DATETIME DEFAULT NULL COMMENT '軟刪除時間'"))
connection.commit()
print("deleted_at 字段添加成功")
else:
print("deleted_at 字段已存在")
# 確保所有表都是最新的
db.create_all()
print("數據庫模式更新完成")
except Exception as e:
print(f"更新數據庫模式時發生錯誤: {e}")