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在runserver
之前自动在生产数据库上运行python manage.py migrate
。然而,我无法找到如何在部署过程中运行自定义命令。
我已经尝试查看GAE和Travis文档,并添加脚本到.travis.yml
和app.yaml
,但都没有成功。
截至目前,在任何模型更改时,我必须以非常hacky的方式在本地迁移生产数据库。理想情况下,GAE将在每次部署开始时进行迁移。