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