37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
"""执行 assistant_no_int 迁移脚本到测试库"""
|
|
import os
|
|
from pathlib import Path
|
|
from dotenv import load_dotenv
|
|
import psycopg2
|
|
|
|
load_dotenv(Path(__file__).resolve().parents[2] / ".env")
|
|
|
|
dsn = os.environ.get("TEST_DB_DSN")
|
|
if not dsn:
|
|
raise RuntimeError("TEST_DB_DSN 未配置")
|
|
|
|
sql_file = Path(__file__).resolve().parents[2] / "db/etl_feiqiu/migrations/2026-02-20__add_assistant_trash_event_ex_assistant_no_int.sql"
|
|
sql = sql_file.read_text(encoding="utf-8")
|
|
|
|
conn = psycopg2.connect(dsn)
|
|
conn.autocommit = True
|
|
with conn.cursor() as cur:
|
|
cur.execute(sql)
|
|
print("迁移执行成功")
|
|
|
|
# 验证
|
|
with conn.cursor() as cur:
|
|
cur.execute("""
|
|
SELECT column_name, data_type
|
|
FROM information_schema.columns
|
|
WHERE table_schema = 'dwd'
|
|
AND table_name = 'dwd_assistant_trash_event_ex'
|
|
ORDER BY ordinal_position
|
|
""")
|
|
rows = cur.fetchall()
|
|
print(f"dwd_assistant_trash_event_ex 当前列:")
|
|
for r in rows:
|
|
print(f" {r[0]} ({r[1]})")
|
|
|
|
conn.close()
|