20250819corp
This commit is contained in:
+57
-29
@@ -1,41 +1,69 @@
|
||||
import sqlite3
|
||||
# 导入数据库工具
|
||||
from db_utils import get_db_connection, close_db_connection
|
||||
|
||||
# 连接到数据库并验证users表结构
|
||||
def verify_users_table():
|
||||
# 验证数据库结构是否完整
|
||||
def verify_database_structure():
|
||||
try:
|
||||
# 连接数据库
|
||||
conn = sqlite3.connect('car_info.db')
|
||||
conn = get_db_connection()
|
||||
cursor = conn.cursor()
|
||||
|
||||
# 检查users表的当前结构
|
||||
print("验证users表结构:")
|
||||
cursor.execute("PRAGMA table_info(users)")
|
||||
columns = cursor.fetchall()
|
||||
for column in columns:
|
||||
print(f"字段名: {column[1]}, 类型: {column[2]}, 是否可空: {column[3]}")
|
||||
# 需要检查的表
|
||||
tables_to_check = ['users', 'query_records']
|
||||
verification_results = []
|
||||
|
||||
# 检查admin用户的信息
|
||||
print("\n验证admin用户信息:")
|
||||
cursor.execute("SELECT id, username, name, phone, department FROM users WHERE username = ?", ('admin',))
|
||||
admin_user = cursor.fetchone()
|
||||
if admin_user:
|
||||
print(f"ID: {admin_user[0]}")
|
||||
print(f"用户名: {admin_user[1]}")
|
||||
print(f"姓名: {admin_user[2]}")
|
||||
print(f"电话: {admin_user[3]}")
|
||||
print(f"部门: {admin_user[4]}")
|
||||
else:
|
||||
print("未找到admin用户")
|
||||
for table in tables_to_check:
|
||||
# 检查表是否存在
|
||||
cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name=?", (table,))
|
||||
table_exists = cursor.fetchone() is not None
|
||||
|
||||
if table_exists:
|
||||
# 检查表的列结构
|
||||
cursor.execute(f"PRAGMA table_info({table})")
|
||||
columns = cursor.fetchall()
|
||||
column_names = [col[1] for col in columns]
|
||||
|
||||
verification_results.append({
|
||||
"table": table,
|
||||
"exists": True,
|
||||
"column_count": len(columns),
|
||||
"columns": column_names
|
||||
})
|
||||
else:
|
||||
verification_results.append({
|
||||
"table": table,
|
||||
"exists": False,
|
||||
"column_count": 0,
|
||||
"columns": []
|
||||
})
|
||||
|
||||
# 关闭连接
|
||||
conn.close()
|
||||
print("\n数据库验证完成")
|
||||
# 关闭数据库连接
|
||||
close_db_connection(conn)
|
||||
|
||||
# 构造返回结果
|
||||
all_tables_exist = all(result['exists'] for result in verification_results)
|
||||
|
||||
return {
|
||||
"success": all_tables_exist,
|
||||
"results": verification_results
|
||||
}
|
||||
except Exception as e:
|
||||
print(f"验证数据库时出错: {str(e)}")
|
||||
# 确保在异常情况下也关闭连接
|
||||
if 'conn' in locals():
|
||||
conn.close()
|
||||
if 'conn' in locals() and conn:
|
||||
close_db_connection(conn)
|
||||
|
||||
return {
|
||||
"success": False,
|
||||
"error": str(e)
|
||||
}
|
||||
|
||||
# 如果直接运行此脚本,则执行验证操作
|
||||
if __name__ == "__main__":
|
||||
verify_users_table()
|
||||
result = verify_database_structure()
|
||||
print(f"数据库结构验证: {'通过' if result['success'] else '失败'}")
|
||||
if result['success']:
|
||||
print("验证详情:")
|
||||
for table_result in result['results']:
|
||||
print(f" - 表 {table_result['table']}: 存在,包含 {table_result['column_count']} 个字段")
|
||||
else:
|
||||
print(f"错误信息: {result['error']}")
|
||||
Reference in New Issue
Block a user