Files
assist/reset_database.py
2025-09-06 21:06:18 +08:00

75 lines
2.0 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
TSP助手数据库重置脚本
"""
import sys
import os
import logging
# 添加项目根目录到Python路径
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from src.config.config import Config
from src.utils.helpers import setup_logging
from src.core.database import db_manager
from src.core.models import Base
def reset_database():
"""重置数据库"""
print("=" * 50)
print("TSP助手数据库重置")
print("=" * 50)
try:
# 设置日志
setup_logging(Config.LOG_LEVEL, Config.LOG_FILE)
logger = logging.getLogger(__name__)
# 确认操作
confirm = input("⚠️ 警告:此操作将删除所有数据!确定要继续吗?(y/N): ")
if confirm.lower() != 'y':
print("操作已取消")
return False
# 删除所有表
Base.metadata.drop_all(bind=db_manager.engine)
print("✓ 数据库表删除成功")
# 重新创建所有表
Base.metadata.create_all(bind=db_manager.engine)
print("✓ 数据库表重新创建成功")
# 插入初始数据
from init_database import insert_initial_data
insert_initial_data()
print("✓ 数据库重置完成")
return True
except Exception as e:
print(f"✗ 数据库重置失败: {e}")
return False
def main():
"""主函数"""
print("TSP助手数据库重置工具")
print("=" * 50)
print("⚠️ 注意:此操作将删除所有现有数据!")
print("=" * 50)
if reset_database():
print("\n" + "=" * 50)
print("数据库重置成功!")
print("=" * 50)
print("现在您可以运行以下命令启动系统:")
print("python start.py")
else:
print("\n" + "=" * 50)
print("数据库重置失败!")
print("=" * 50)
if __name__ == "__main__":
main()