fs-lawrisk/run_migration.py

52 lines
1.5 KiB
Python
Raw Normal View History

#!/usr/bin/env python
"""迁移启动脚本 - 用于执行数据库迁移
使用方法
python run_migration.py
"""
import sys
import os
# 添加项目根目录到Python路径
project_root = os.path.abspath(os.path.dirname(__file__))
sys.path.insert(0, project_root)
# 重要:先加载.env文件再导入模块
from lawrisk.utils.env_loader import load_env
load_env('.env', override=False)
# 导入并执行迁移
from lawrisk.utils.migrate_unit_permission import execute_migration, check_migration_status
if __name__ == "__main__":
print("=" * 60)
print("许可管理单位权限优化 - 数据库迁移")
print("=" * 60)
print()
# 检查当前状态
status = check_migration_status()
print(f"迁移状态: {'已完成' if status['migration_complete'] else '未完成'}")
print()
if not status['migration_complete']:
response = input("是否执行数据库迁移?(y/N): ").strip().lower()
if response == 'y':
print("\n开始执行迁移...")
results = execute_migration()
if results['success']:
print("\n✅ 迁移成功完成!")
print(" - 架构迁移: ✅")
print(" - 数据迁移: ✅")
else:
print("\n❌ 迁移失败!")
for error in results['errors']:
print(f" 错误: {error}")
else:
print("\n跳过迁移")
else:
print("数据库已完全迁移,无需重复执行")
print("\n" + "=" * 60)