56 lines
1.9 KiB
Python
56 lines
1.9 KiB
Python
|
|
"""迁移 016: 创建 insurance_ppt_sessions 表。"""
|
||
|
|
import logging
|
||
|
|
|
||
|
|
logger = logging.getLogger(__name__)
|
||
|
|
|
||
|
|
|
||
|
|
def migrate():
|
||
|
|
"""迁移入口。"""
|
||
|
|
from insurance.db.compat import db
|
||
|
|
from sqlalchemy import text
|
||
|
|
|
||
|
|
dialect = db.engine.dialect.name
|
||
|
|
is_postgres = dialect == 'postgresql'
|
||
|
|
|
||
|
|
if is_postgres:
|
||
|
|
sql = """
|
||
|
|
CREATE TABLE IF NOT EXISTS insurance_ppt_sessions (
|
||
|
|
id VARCHAR(36) PRIMARY KEY,
|
||
|
|
user_id VARCHAR(64) NOT NULL,
|
||
|
|
status VARCHAR(20) DEFAULT 'created' NOT NULL,
|
||
|
|
files_json TEXT,
|
||
|
|
extractions_json TEXT,
|
||
|
|
chat_history_json TEXT,
|
||
|
|
ppt_path VARCHAR(500),
|
||
|
|
markdown_path VARCHAR(500),
|
||
|
|
preview_paths_json TEXT,
|
||
|
|
preview_pdf_path VARCHAR(500),
|
||
|
|
slide_count INTEGER,
|
||
|
|
created_at TIMESTAMP DEFAULT NOW(),
|
||
|
|
updated_at TIMESTAMP DEFAULT NOW()
|
||
|
|
)
|
||
|
|
"""
|
||
|
|
else:
|
||
|
|
sql = """
|
||
|
|
CREATE TABLE IF NOT EXISTS insurance_ppt_sessions (
|
||
|
|
id VARCHAR(36) PRIMARY KEY,
|
||
|
|
user_id VARCHAR(64) NOT NULL,
|
||
|
|
status VARCHAR(20) DEFAULT 'created' NOT NULL,
|
||
|
|
files_json TEXT,
|
||
|
|
extractions_json TEXT,
|
||
|
|
chat_history_json TEXT,
|
||
|
|
ppt_path VARCHAR(500),
|
||
|
|
markdown_path VARCHAR(500),
|
||
|
|
preview_paths_json TEXT,
|
||
|
|
preview_pdf_path VARCHAR(500),
|
||
|
|
slide_count INTEGER,
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||
|
|
)
|
||
|
|
"""
|
||
|
|
|
||
|
|
logger.info("[migrate_016] 创建 insurance_ppt_sessions 表 ...")
|
||
|
|
db.session.execute(text(sql))
|
||
|
|
db.session.commit()
|
||
|
|
logger.info("[migrate_016] insurance_ppt_sessions 表创建完成")
|