Скрипт Flask-Migrate не применяет изменения в базе данных Postgres - PullRequest
0 голосов
/ 05 ноября 2019

Я недавно внес некоторые изменения в мои модели в своем проекте Flask. Я пытался применить эти изменения к моей базе данных Postgres, но сценарий, похоже, не дал никакого эффекта. Когда я запускаю обновление, оно говорит

INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> ba60ca569e9f, empty message

, но в БД ничего не меняется. Я сбросил базу данных и воссоздал ее, но ничего не произошло. Что не так?

1 Ответ

0 голосов
/ 05 ноября 2019

Context impl SQLiteImpl. - сильный намек. URI моей БД определяется по SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URI') or 'sqlite:///'. Когда я запускал свой проект в среде Docker-compose, он работал, потому что DATABASE_URI правильно устанавливался в Dockerfile. Когда я запускал его в моей местной среде, он не работал. Я мог запустить его на своем серверном контейнере, и он должен был сработать.

Я исправил это, правильно установив DATABASE_URI на export DATABASE_URI=postgres://{USERNAME}:{PASSWORD}@127.0.0.1:5432/debateit. Это позволило моей локальной среде подключаться к БД Postgres, а не к локальному SQLite.

...