Bob*_*oni 6 python django google-app-engine travis-ci google-cloud-platform
Django v1.11
PostgreSQL v9.6
目前,我使用2个Google CloudSQL数据库,一个用于开发,一个用于生产。每当我更改模型时,我都会运行python manage.py migrate
以更新开发数据库中的表。但是,此迁移不会影响生产数据库。
现在,无论何时git push
更改到Django项目,TravisCI都会自动运行测试并将代码部署到Google App Engine。目前,它可以在GAE灵活环境上运行(因此我可以使用Python 3.5)
我想让Travis或GAE在之前自动python manage.py migrate
在生产数据库上运行runserver
。但是,我不知道如何在部署过程中运行自定义命令。
我试着环视GAE和Travis文件并添加脚本.travis.yml
和app.yaml
,但无济于事。
到目前为止,无论何时发生模型更改,我都必须以非常hacky的方式在本地迁移生产数据库。理想情况下,GAE将在每次部署开始时进行迁移。
不知道你是否见过这个:
\n\n\n\n来自类似问题的参考:
\n\n\n\n另外,考虑一个嵌入源代码的数据库迁移工具,支持 Postgresql(类似于 FlywayDB 迁移):
\n\n\n