接口跑通,基础功能全部实现
This commit is contained in:
48
migrate_add_wx_fields.py
Normal file
48
migrate_add_wx_fields.py
Normal file
@@ -0,0 +1,48 @@
|
||||
"""
|
||||
数据库迁移:给 users 表添加微信登录字段
|
||||
运行方式: python migrate_add_wx_fields.py
|
||||
"""
|
||||
import sqlite3
|
||||
import os
|
||||
|
||||
DB_PATHS = [
|
||||
"weibo_hotsign.db",
|
||||
"backend/weibo_hotsign.db",
|
||||
]
|
||||
|
||||
def migrate(db_path):
|
||||
if not os.path.exists(db_path):
|
||||
print(f" 跳过 {db_path}(文件不存在)")
|
||||
return
|
||||
|
||||
conn = sqlite3.connect(db_path)
|
||||
cursor = conn.cursor()
|
||||
|
||||
cursor.execute("PRAGMA table_info(users)")
|
||||
columns = {row[1] for row in cursor.fetchall()}
|
||||
|
||||
added = []
|
||||
for col in ["wx_openid", "wx_nickname", "wx_avatar"]:
|
||||
if col not in columns:
|
||||
cursor.execute(f"ALTER TABLE users ADD COLUMN {col} TEXT")
|
||||
added.append(col)
|
||||
|
||||
# 创建唯一索引
|
||||
try:
|
||||
cursor.execute("CREATE UNIQUE INDEX IF NOT EXISTS idx_users_wx_openid ON users(wx_openid)")
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
if added:
|
||||
print(f" ✅ {db_path}: 添加了 {', '.join(added)}")
|
||||
else:
|
||||
print(f" ✅ {db_path}: 字段已存在,无需迁移")
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("正在迁移数据库...")
|
||||
for p in DB_PATHS:
|
||||
migrate(p)
|
||||
print("迁移完成!")
|
||||
Reference in New Issue
Block a user