关于GAE的Django - 如何自动迁移'在部署?

时间:2018-03-14 00:13:02

标签: python django google-app-engine google-cloud-platform travis-ci

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.ymlapp.yaml添加脚本,但无济于事。

截至目前,只要有模型更改,我就必须以非常黑客的方式在本地迁移生产数据库。理想情况下,GAE将在每次部署开始时进行迁移。

1 个答案:

答案 0 :(得分:0)

不确定您是否已看到以下内容:

integrate Databricks and RabbitMQ using Panoply

类似问题的参考文献:

Travis CI Script Deployment

另外,考虑一个嵌入源代​​码的数据库迁移工具,支持Postgresql(类似于FlywayDB migration):

How can I run a script as part of a Travis CI build?