Files
syncio/app/cli.py
2026-04-16 17:57:58 +09:00

46 lines
1.6 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.

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