75 lines
2.0 KiB
Python
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()
|