Постановка Flask-миграции на Google App Engine (GAE)/Cloud SQL

У меня есть фляжное приложение, подключенное к локальной базе данных postgres с помощью SQlAlchemy для целей разработки. У меня также есть живая версия приложения, работающего в Google App Engine, которое подключено к базе данных postgres в CloudSQL.

Я пытаюсь использовать flask-migrate (который основан на перегонном кубе) для управления миграцией базы данных. Я могу выполнить миграцию локально, но не знаю, как управлять миграцией для развернутой версии?

этот ответ содержит несколько полезных ответов. Один предлагает получить IP-адрес и иметь возможность подключаться напрямую, но я не знаю, где бы я использовал этот URI для миграции?

Другой ответ предлагает запустить код как конечную точку в самом приложении.

Любые указатели будут очень признательны


person Charlie Morton    schedule 19.03.2020    source источник
comment
по этой ссылке вы можете найти информацию о том, как настроить URI на sqlalchemy docs.sqlalchemy .org/en/13/core/engines.html hackersandslackers.com/flask -sqlalchemy-database-models   -  person Jan Hernandez    schedule 20.03.2020
comment
@JorgeHDZ спасибо, у меня URI sqlalchemy отлично работает на localhost dev и prod. Но я не знаю, как запустить миграцию на prod   -  person Charlie Morton    schedule 20.03.2020
comment
вы можете выполнить миграцию, используя локальный компьютер, чтобы подготовить базу данных для службы ядра приложения.   -  person Jan Hernandez    schedule 20.03.2020
comment
Как мне выполнить миграцию prod db на моем локальном компьютере?   -  person Charlie Morton    schedule 20.03.2020
comment
попробуйте запустить миграцию, как обычно, следуя рекомендациям в ответе stackoverflow.com/a/36731280/11529321, указывающим конфигурацию вашей базы данных. в облако   -  person Jan Hernandez    schedule 20.03.2020
comment
Ответ, который вы указали, предлагает два разных способа сделать это. Были ли у вас проблемы с их реализацией? Они оба кажутся достойными решениями, на мой взгляд.   -  person Miguel    schedule 20.03.2020
comment
@Miguel, первый ответ говорит мне, как получить доступ к облачному SQL с IP-адресом и сформировать URI (который у меня уже есть), он не говорит мне, как использовать это на моей локальной машине. Второй ответ, который я не мог приступить к работе, так как не смог найти каталог миграции   -  person Charlie Morton    schedule 20.03.2020
comment
Первый ответ указывает, что вы устанавливаете URI для удаленной базы данных на вашем локальном компьютере, а затем запускаете обновление на своем локальном компьютере. Что касается второго ответа, что вы имеете в виду, что не смогли найти каталог миграции? Вы создали репозиторий миграций, верно? И вы добавили его в свой проект в качестве дополнительных исходных файлов? Если да, то при установке приложения на GCE у вас должна быть установлена ​​папка миграции.   -  person Miguel    schedule 20.03.2020
comment
Отвечает ли это на ваш вопрос? Выполнение миграции Alembic в Google App Engine   -  person Jan Hernandez    schedule 23.03.2020
comment
В настоящее время мое фляжное приложение настроено на использование переменных среды, так что на моей локальной машине URI ссылается на мою локальную базу данных postgres, а на prod (GAE) — на живую базу данных в Cloud SQL. Где я должен изменить URI? Другая часть: я получаю сообщение об ошибке «Ошибка: путь не существует:« миграции ». Используйте команду «init», чтобы создать новую папку сценариев». несмотря на то, что папка инициализации и миграции уже запущена. Если я жестко кодирую в каталоге, он работает и возвращает «мигрированный», но на самом деле ничего не делает с БД   -  person Charlie Morton    schedule 23.03.2020
comment
@JorgeHDZ, это ответ, на который я ссылаюсь в своем вопросе, но я не могу заставить его работать. Не уверен, что я делаю неправильно   -  person Charlie Morton    schedule 23.03.2020