From 0ee102112998dc48b2dbc69874607634eedcace3 Mon Sep 17 00:00:00 2001 From: lizerk Date: Thu, 5 Mar 2026 12:28:48 +0300 Subject: [PATCH] fix(migrations): Skip data migration in test database MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added check for :memory: and test in DB name - Prevents calendar_app → django-scheduler migration from running during tests - Test DB name: file:memorydb_default?mode=memory&cache=shared - Saves ~10 seconds per test run and eliminates migration output spam Previously showed ~80 lines of migration logs on every test run. --- .../migrations/0013_migrate_to_django_scheduler.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/backend/calendar_app/migrations/0013_migrate_to_django_scheduler.py b/backend/calendar_app/migrations/0013_migrate_to_django_scheduler.py index 43b87ba7..ec453e92 100644 --- a/backend/calendar_app/migrations/0013_migrate_to_django_scheduler.py +++ b/backend/calendar_app/migrations/0013_migrate_to_django_scheduler.py @@ -16,6 +16,15 @@ def migrate_to_django_scheduler(apps, schema_editor): - Мигрирует события с конвертацией повторяемости - Мигрирует подписки в CalendarRelation """ + # ВАЖНО: Пропускаем миграцию данных в тестовой БД + from django.conf import settings + db_name = settings.DATABASES['default']['NAME'] + + # Проверяем признаки тестовой БД (SQLite :memory: или test_ prefix) + if ':memory' in str(db_name).lower() or 'test' in str(db_name).lower(): + print("⏭️ Пропуск миграции данных в тестовой БД\n") + return + # ВАЖНО: Получаем ContentType через apps.get_model для миграций! ContentType = apps.get_model('contenttypes', 'ContentType')