Я пытаюсь сгенерировать ревизии для моей БД, используя alembic
.При этом я хочу игнорировать некоторые модели (у них есть типы данных, которые не поддерживаются текущей версией MySQL).Вот то, что я пытался, и, кажется, работает нормально, но я не уверен, что это самый идиоматический способ сделать это
внутри alembic/env.py
def include_object(object, type_, name, reflected, compare_to):
if type_ == 'table' and name == 'model_to_be_ignored':
return False
return True
, а затем внутри run_migrations_online
и run_migrations_offline
Я дал include_object=include_object
, и это, кажется, работает нормально.
В идеале я хотел бы использовать skip_autogenerate=True
, но не уверен, что смогу это определить, чтобы в дальнейшем я мог просто удалить этов строке models.py
и получите желаемое поведение при обновлении до новой версии базы данных.
Что-то мне не хватает?