Пометить определенные миграции Django как фальшивые миграции во время настройки тестовой БД
У меня есть несколько миграций базы данных, некоторые структурные миграции, некоторые миграции данных
eg.
0001_initial.py
0002_import_data.py
0003_add_field.py
0004_import_more_data.py
Я хотел бы пропустить эти миграции данных (0002 и 0004), поскольку я не хочу тратить усилия на подделку источника для этих миграций данных, но при этом запускать 0001 и 0003 при выполнении python manage.py test
Возможно ли это?
Вы можете отредактировать файлы миграции данных и условно установить operations
в пустой список или удалить только те операции, которые вы хотите пропустить. Затем вам нужно определить, когда вы работаете под тестом, это можно сделать с помощью отдельного файла настроек или установки переменной окружения
class Migration(migrations.Migration):
dependencies = [
('app', '0001_initial'),
]
operations = [
migrations.RunPython(import_function),
]
if settings.TEST: # if os.environ('SKIP_DATA_MIGRATIONS') == 'true':
operations = []