MCPcopy Create free account
hub / github.com/aaPanel/BaoTa / check_and_add_missing_fields

Function check_and_add_missing_fields

script/check_sql.py:20–35  ·  view source on GitHub ↗
(db_obj, table_name, field_definitions)

Source from the content-addressed store, hash-verified

18 print(f"创建表时出错:{e}")
19
20def check_and_add_missing_fields(db_obj, table_name, field_definitions):
21 cursor = db_obj.cursor()
22 # 检查现有字段
23 cursor.execute(f"PRAGMA table_info({table_name})")
24 existing_columns = {row[1]: row for row in cursor.fetchall()}
25
26 for field_def in field_definitions:
27 if isinstance(field_def, list) and len(field_def) > 2:
28 field_name, field_type = field_def[1], field_def[2]
29 if field_name not in existing_columns:
30 try:
31 cursor.execute(f"ALTER TABLE {table_name} ADD COLUMN {field_name} {field_type}")
32 db_obj.commit()
33 print(f"【添加字段】表 '{table_name}' 中缺少字段 '{field_name}',已成功添加。")
34 except sqlite3.OperationalError as e:
35 print(f"【错误】尝试向表 '{table_name}' 添加字段 '{field_name}' 时出错: {e}")
36
37def update_database_for_table(db_name, table_name):
38 db_json = get_database_json()

Callers 1

Calls 2

executeMethod · 0.45
commitMethod · 0.45

Tested by

no test coverage detected