Ale*_*und 8 django google-app-engine django-migrations
我有一个Django应用程序并且在Google App Engine中灵活运行.我知道如何使用云代理或通过设置DATABASES值来运行迁移,但我希望通过在部署步骤中执行迁移来自动运行迁移.但是,似乎没有办法在部署之前或之后运行自定义脚本.
我想出的唯一方法是在entrypoint命令中执行此操作,您可以在以下命令中设置app.yaml:
entrypoint: bash -c 'python3 manage.py migrate --noinput && gunicorn -b :$PORT app.wsgi'
Run Code Online (Sandbox Code Playgroud)
这感觉很像做错了.很多谷歌搜索没有提供更好的答案.
在 app.yaml 文件中定义python3 manage.py migrate命令将使其在每次生成新实例并设置为服务流量时运行。尽管从技术上讲这可能不是问题(如果数据库架构未更改,则不会发生迁移),但这不是声明它的正确位置。
您希望此命令在每次新版本代码推送时运行一次。这非常适合 CI/CD 方法。例如,Google Cloud 在线文档中有多个使用Bitbucket Pipelines或Travis CI 的教程,但您可以使用许多其他 CI/CD 解决方案。
| 归档时间: |
|
| 查看次数: |
838 次 |
| 最近记录: |