Django on GAE-如何在部署时自动“迁移”?

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

到目前为止,无论何时发生模型更改,我都必须以非常hacky的方式在本地迁移生产数据库。理想情况下,GAE将在每次部署开始时进行迁移。

Tec*_*ree 1

不知道你是否见过这个:

\n\n

Travis CI 脚本部署

\n\n

来自类似问题的参考:

\n\n

如何将脚本作为 Travis CI 构建的一部分运行?

\n\n

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

\n\n

Yoyo 数据库迁移\xc2\xb6

\n