在gae中部署django应用程序时如何包含迁移命令

时间:2018-10-31 05:55:01

标签: django database google-app-engine psql gcloud

我已经在灵活的App Engine中部署了django应用程序。

我能够使用cloud_sql_proxy运行迁移。但是我想添加迁移步骤作为部署的一部分。我在app.yaml文件中的哪里指定? 也尝试过

gcloud beta app gen-config --custom

哪个将创建docker文件。在docker文件中添加迁移命令时,收到以下错误:

could not connect to server: Cannot assign requested address
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?

Settings.py

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'test',
'USER': 'test',
'PASSWORD': 'password',
'PORT': '5432',
'HOST': 'connection-name',
}}

app.yaml

runtime: python
env: flex
entrypoint: gunicorn -b :$PORT wsgi

beta_settings:
  cloud_sql_instances: connection-name

runtime_config:
  python_version: 3

请建议添加迁移命令的方法。

1 个答案:

答案 0 :(得分:0)

您不能在迁移过程中添加迁移命令。 app.yaml文件仅用于与应用引擎相关的配置。因此,您可以做的是在本地机器中连接Google Cloud SQL实例,然后运行migration命令。

其他选项是设置持续集成。您可以访问此link以获得有关如何在Travis上设置CI / CD的想法。