ai_v/fix_db_manual_points.py

31 lines
1.0 KiB
Python

from sqlalchemy import create_engine, text
from config import Config
def fix_db():
# 从 SQLALCHEMY_DATABASE_URI 提取连接信息
uri = Config.SQLALCHEMY_DATABASE_URI
print(f"🔗 正在尝试连接数据库 (SQLAlchemy)... ")
engine = create_engine(uri)
try:
with engine.connect() as conn:
# 检查并添加 points 字段
print("🔧 正在检查并添加 users.points 字段...")
conn.execute(text("""
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='users' AND column_name='points') THEN
ALTER TABLE users ADD COLUMN points INTEGER DEFAULT 2;
END IF;
END $$;
"""))
conn.commit()
print("✅ 数据库字段 points 处理完成 (默认值 2)")
except Exception as e:
print(f"❌ 数据库修复失败: {e}")
if __name__ == "__main__":
fix_db()