fs-lawrisk/run_migration_en.py

51 lines
1.7 KiB
Python

#!/usr/bin/env python
"""Migration script for unit permission optimization"""
import sys
import os
# Add project root to path
project_root = os.path.abspath(os.path.dirname(__file__))
sys.path.insert(0, project_root)
# Load .env file BEFORE importing any modules
from lawrisk.utils.env_loader import load_env
load_env('.env', override=False)
# Import migration functions
from lawrisk.utils.migrate_unit_permission import execute_migration, check_migration_status
if __name__ == "__main__":
print("=" * 60)
print("Unit Permission Optimization - Database Migration")
print("=" * 60)
print()
# Check current status
status = check_migration_status()
print(f"Migration Status: {'Completed' if status['migration_complete'] else 'Not Completed'}")
print()
if not status['migration_complete']:
response = input("Execute database migration? (y/N): ").strip().lower()
if response == 'y':
print("\nExecuting migration...")
results = execute_migration()
if results['success']:
print("\nMigration SUCCESSFUL!")
print(" - Schema migration: OK")
print(" - Data migration: OK")
print("\nYou can now restart the application:")
print(" pkill -f 'python app.py'")
print(" python app.py")
else:
print("\nMigration FAILED!")
for error in results['errors']:
print(f" Error: {error}")
else:
print("\nMigration skipped")
else:
print("Database migration already completed. No action needed.")
print("\n" + "=" * 60)