first commit
This commit is contained in:
45
app/cli.py
Normal file
45
app/cli.py
Normal file
@@ -0,0 +1,45 @@
|
||||
import traceback
|
||||
|
||||
from .config import Config
|
||||
|
||||
|
||||
def main():
|
||||
"""Основная функция"""
|
||||
try:
|
||||
from .migrator import DatabaseMigrator
|
||||
|
||||
# Инициализация конфигурации
|
||||
config = Config()
|
||||
|
||||
# Создание мигратора
|
||||
migrator = DatabaseMigrator(config)
|
||||
|
||||
# Запуск миграции
|
||||
report = migrator.run_migration()
|
||||
|
||||
# Очистка старых логов
|
||||
migrator.cleanup_old_logs(days_to_keep=7)
|
||||
|
||||
# Вывод краткой статистики в консоль
|
||||
print("\n" + "="*60)
|
||||
print("МИГРАЦИЯ ЗАВЕРШЕНА!")
|
||||
print("="*60)
|
||||
print(f"Успешно: {report['summary']['successful_tables']}/{report['summary']['total_tables']} таблиц")
|
||||
print(f"Всего строк: {report['summary']['total_rows']}")
|
||||
print(f"Продолжительность: {report['summary']['duration']}")
|
||||
print(f"Лог-файл: {migrator.logger.log_file}")
|
||||
print("="*60)
|
||||
|
||||
# Возвращаем код завершения
|
||||
if report['summary']['failed_tables'] > 0:
|
||||
return 1 # Есть ошибки
|
||||
else:
|
||||
return 0 # Успех
|
||||
|
||||
except KeyboardInterrupt:
|
||||
print("\nМиграция прервана пользователем")
|
||||
return 130
|
||||
except Exception as e:
|
||||
print(f"Критическая ошибка: {e}")
|
||||
print(traceback.format_exc())
|
||||
return 1
|
||||
Reference in New Issue
Block a user