Перенос базы данных при каждом развертывании в gcloud - PullRequest
0 голосов
/ 04 июля 2019

У меня есть приложение gcloud, настроенное для использования экземпляра Cloud SQL в app.yaml:

beta_settings:
  cloud_sql_instances: <instance-name>

После развертывания приложения, доступно /cloudsql/<instance-name> и возможно подключение к базе данных через файл сокета.

Для переноса схемы базы данных при каждом развертывании мне нужна команда развертывания в Dockerfile:

RUN yarn run sequelize db:migrate

Однако /cloudsql недоступен при выполнении Dockerfile.

RUN ls /cloudsql ведет к ls: /cloudsql: No such file or directory.

Как можно сделать /cloudsql доступным в этом контексте? Есть ли другие рекомендации по переносу базы данных при развертывании gcloud?

1 Ответ

0 голосов
/ 04 июля 2019

Выполнение миграции баз данных с Django на Google App Engine и Cloud SQL.Он имеет бесплатный уровень, достаточный для большинства малых предприятий и хобби-сайтов, и его очень легко развернуть и поддерживать.Некоторые из этих веб-сайтов написаны на Django, рекомендуемой веб-инфраструктуре Python.

manage.py migrate для вашего экземпляра App Engine Standard с базой данных Cloud SQL

Существует решение / обходной путь: вы можете подключиться к Cloud SQL с локального компьютера и выполнить миграцию manage.py на локальном компьютере, но изменения должны быть внесены в ваш экземпляр облака.

Для этого вам необходимо добавить Cloud SQLбазы данных в файл настроек.Ваш производственный экземпляр, вероятно, использует сокеты, но с локального компьютера вам необходимо использовать IP-адрес:

https://medium.com/@mrdatainsight/performing-database-migrations-with-django-on-google-app-engine-and-cloud-sql-c7fd298581b4

...