51 lines
1.7 KiB
Python
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)
|