2026-01-16 22:24:14 +08:00
|
|
|
from sqlalchemy import create_engine, text
|
2026-01-12 00:53:31 +08:00
|
|
|
from config import Config
|
|
|
|
|
|
|
|
|
|
def fix_db():
|
|
|
|
|
# 从 SQLALCHEMY_DATABASE_URI 提取连接信息
|
|
|
|
|
uri = Config.SQLALCHEMY_DATABASE_URI
|
2026-01-16 22:24:14 +08:00
|
|
|
print(f"🔗 正在尝试连接数据库 (SQLAlchemy)... ")
|
|
|
|
|
|
|
|
|
|
engine = create_engine(uri)
|
2026-01-12 00:53:31 +08:00
|
|
|
|
|
|
|
|
try:
|
2026-01-16 22:24:14 +08:00
|
|
|
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)")
|
|
|
|
|
|
2026-01-12 00:53:31 +08:00
|
|
|
except Exception as e:
|
|
|
|
|
print(f"❌ 数据库修复失败: {e}")
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
fix_db()
|