fix(migrations): Skip data migration in test database

- 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.
This commit is contained in:
lizerk 2026-03-05 12:28:48 +03:00
parent dd8f1580ec
commit 0ee1021129

View File

@ -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')