【问题标题】:Incremental DB upgrade in OpenshiftOpenshift 中的增量数据库升级
【发布时间】:2014-08-21 12:20:06
【问题描述】:

随着我的应用程序不断发展,我需要一种方法来将架构更改推送到 OpenShift 中的数据库,而不会丢失现有数据。我的 application 使用 Node.js 和 PostgreSQL,所以我想使用 node-migrate 来管理增量模式更改。问题是 node-migrate 使用文件 migrations/.migrate,每次推送到 OpenShift 时都会删除该文件(migrations 文件夹还包含迁移脚本并存储在 Git 存储库中)。

您知道如何配置 node-migrate 以正确使用 OpenShift 吗?

如果您不了解 node-migrate 但了解 OpenShift,那么在部署期间应用程序可以写入并且在 git push 期间不会删除文件的正确文件位置是什么?

【问题讨论】:

    标签: node.js openshift


    【解决方案1】:

    我对 node-migrate 不是很熟悉,但是 $OPENSHIFT_DATA_DIR (~/app-root/data) 是你可以写入的地方,它不会在 git push 上被删除。

    【讨论】:

      【解决方案2】:

      您的应用应自行处理数据库架构更改,这不是 Openshift 的功能。

      例如,django 有一个命令 (syncdb) 可以更新新表,但尚未修改现有架构。

      对于 django,我绑定了动作挂钩脚本,允许我在每次部署时运行 sync db 命令。它们只是标准的 shell 脚本,并且在您推送代码时执行。还有其他的动作钩子,这些只是我知道的。

      HTH

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-28
        相关资源
        最近更新 更多