Kamixitong/check_mysql_structure.py
2025-11-11 23:04:01 +08:00

50 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
import sys
# 添加项目根目录到Python路径
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
# 在导入应用之前加载环境变量
try:
from dotenv import load_dotenv
if load_dotenv():
print("成功加载.env文件")
except ImportError:
print("python-dotenv未安装跳过.env文件加载")
from app import create_app, db
# 创建应用实例
app = create_app()
with app.app_context():
try:
# 检查表结构
from sqlalchemy import inspect
inspector = inspect(db.engine)
tables = inspector.get_table_names()
print(f"Database tables: {tables}")
# 检查 admin 表结构
if 'admin' in tables:
columns = inspector.get_columns('admin')
print("\nAdmin table columns:")
for col in columns:
print(f" - {col['name']}: {col['type']}")
# 检查是否有 is_deleted 字段
has_is_deleted = any(col['name'] == 'is_deleted' for col in columns)
print(f"\nHas is_deleted column: {has_is_deleted}")
else:
print("Admin table not found")
# 检查 audit_log 表
if 'audit_log' in tables:
print("\nAudit_log table exists")
else:
print("\nAudit_log table not found")
except Exception as e:
print(f"Database inspection failed: {e}")
import traceback
traceback.print_exc()