| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import pymysql
- import sys
- # 数据库配置
- DB_CONFIG = {
- "host": "m-f8ze60yirdj8786u2.mysql.rds.aliyuncs.com",
- "port": 3306,
- "user": "root",
- "password": "csqz@20255",
- "db": "csqz-client",
- "charset": "utf8mb4",
- "cursorclass": pymysql.cursors.DictCursor
- }
- def update_schema():
- conn = pymysql.connect(**DB_CONFIG)
- try:
- with conn.cursor() as cursor:
- # 1. Add family_rank (堂内排行)
- try:
- cursor.execute("ALTER TABLE family_member_info ADD COLUMN family_rank VARCHAR(50) DEFAULT NULL COMMENT '堂内排行'")
- print("Added column: family_rank")
- except pymysql.err.OperationalError as e:
- if e.args[0] != 1060: # Duplicate column name
- raise e
- print("Column family_rank already exists.")
- # 2. Add tags (标签)
- try:
- cursor.execute("ALTER TABLE family_member_info ADD COLUMN tags VARCHAR(255) DEFAULT NULL COMMENT '标签'")
- print("Added column: tags")
- except pymysql.err.OperationalError as e:
- if e.args[0] != 1060:
- raise e
- print("Column tags already exists.")
- # 3. Add notes (人员备注)
- try:
- cursor.execute("ALTER TABLE family_member_info ADD COLUMN notes TEXT DEFAULT NULL COMMENT '人员备注'")
- print("Added column: notes")
- except pymysql.err.OperationalError as e:
- if e.args[0] != 1060:
- raise e
- print("Column notes already exists.")
- conn.commit()
- print("Schema update completed successfully.")
- return True
- except Exception as e:
- print(f"Error updating schema: {e}")
- return False
- finally:
- conn.close()
- if __name__ == "__main__":
- if update_schema():
- sys.exit(0)
- else:
- sys.exit(1)
|