Я пишу приложение Flask, которое использует Flask-SQLAlchemy и Flask-Migrate. В рабочей среде есть база данных PostgreSQL, но для разработки я надеялся использовать SQLite вместо того, чтобы устанавливать полную версию PostgreSQL на моем компьютере для разработки.
Я настроил Flask-Migrate, как описано в документации. Я не могу не заметить, что когда я запускаю flask db migrate
в окне разработчика, это первые две строки, записанные в консоль:
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
Мой вопрос: означает ли это, что сгенерированный скрипт миграции подходит только для SQLite?
Я бы не ожидал, так как вы должны передать сценарий в систему управления версиями (после того, как вы проверите его вручную) и использовать его для миграции в производстве. И сам автор Flask-Migrate признает, что одним из преимуществ SQLAlchemy является то, что вы можете использовать разные механизмы баз данных при разработке и производстве (см. его сообщение в блоге). Но тогда почему он говорит мне об этих предположениях? Есть ли способ сказать ему, чтобы он не использовал конкретный механизм базы данных?