Миграция Flask с несколькими приложениями Flask и единой базой данных

#flask #flask-sqlalchemy #alembic #flask-migrate

Вопрос:

У меня есть приложение flask, в котором есть база данных PostgreSQL и есть flask-миграция для миграции баз данных. Я создал другое приложение Flask, которое имеет соединение с той же базой данных URI (PostgreSQL). Я создал несколько моделей в своем втором приложении flask, а также интегрировал flask-миграцию, но когда я пытаюсь запустить flask db migrate . Это показывает ошибку примерно такую.

 INFO:api:Environment in __init__: "dev"
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
ERROR [flask_migrate] Error: Can't locate revision identified by 'bd61d97c6c3f'
 

Похоже, что в моем втором приложении flask у меня нет bd61d97c6c3f версии в файле миграции. Итак, можем ли мы использовать одну и ту же базу данных в другом приложении flask с помощью flask-migrate? Кроме того, если это возможно, то как мы можем этого достичь, потому что я думаю, что это приводит к конфликту при использовании с двумя разными приложениями.

Комментарии:

1. Я добавил тег «перегонный куб» к вашему вопросу, так как вам нужно будет работать непосредственно с перегонным кубом, чтобы настроить доступ к одной базе данных из нескольких приложений. Один из способов сделать это-настроить другую таблицу для хранения текущей версии в одном из приложений. Вам также необходимо будет убедиться, что каждое приложение игнорирует модели другого при создании миграций. Я рекомендую вам прочитать документацию по перегонному кубу, это не будет тривиально, но я думаю, что это можно сделать.