Тестирование миграций alembic
Все пишут юнит-тесты к своему коду и любят их за сокращение времени разработки. Но тестирование миграций — это что за зверь такой?
При использовании postgres в проектах для миграций мы обычно используем alembic. Бывают случаи, когда:
— внес изменения в модель и забыл накатить миграции
— пишешь миграцию, а потом оказывается, что она не работает для уже заполненных таблиц
Оказывается, можно избежать этих раздражающих проблем. Недавно наткнулись на плагин для pytest, который тестирует миграции. В комплекте идет 4 теста:
1. test_single_head_revision — проверяется, что существует единственная head ревизия
2. test_upgrade — проверяется согласованность всех миграций, то есть что миграции от первой до последней накатываются
3. test_model_definitions_match_ddl — проверяется, что состояние моделей должно полностью соответствовать миграциям
4. test_up_down_consistency — проверяется, что можно сделать даунгрейд от текущего состояния до пустой схемы
#python #database
Post #216
883
- 👍 6
- 🔥 4
- ❤ 2
- ⚡ 1
- 🌭 1