在Openshift增量数据库升级
随着我的应用程序的不断发展,我需要一种在OpenShift中将模式更改推送到数据库而不会丢失现有数据的方法。 我的应用程序使用Node.js和PostgreSQL,因此我想使用节点迁移来pipe理增量模式更改。 问题是node-migrate使用文件migrations/.migrate
,每次推送到OpenShift( migrations
文件夹也包含迁移脚本,并存储在Git仓库中)。
你知道如何configurationnode-migrate来正确的使用OpenShift吗?
要么
如果您不了解node-migrate,但了解OpenShift,那么在git push
期间,应用程序可以在部署过程中写入的正确文件位置和文件不会被删除?
我不是很熟悉node-migrate,但$OPENSHIFT_DATA_DIR
(〜/ app-root / data)是你可以写入的地方,它不会在git push上被删除。
你的应用程序应该自己处理数据库模式的变化,这不是Openshift的function。
例如,django有一个更新新表的命令(syncdb),但是还没有修改现有的模式。
对于Django来说,我已经绑定了动作钩子脚本,允许我在每个部署上运行sync db命令。 他们只是标准的shell脚本,并且只要你推动你的代码就执行。 还有其他的动作钩子,这些只是我所知道的。
HTH