fs-lawrisk/tests/run_migration.py

52 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.

#!/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)