2

我在运行 Postgres 数据库的 OpenShift Enterprise 上部署了 Ruby (2) on Rails (4) 应用程序。初始部署后,应用程序运行良好,信息保存在数据库中,路由正常工作,所有测试都通过 - 一切都很好。

然后我用git push openshift master. 当我回到应用程序时,它仍在运行,但所有数据库内容(包括表结构)都消失了。

的输出push很干净。我没有写任何钩子,也没有运行任何时髦的 cron 作业。我可以重复这个过程,重建数据库,然后看着它在每次部署时都被吹走。这个问题在我的本地实例中没有发生。

4

1 回答 1

2

tl;dr:确保.openshift在项目的根目录下有一个目录,以此为例:https ://github.com/openshift/rails4-example

这就是发生的事情。

当我创建 Rails 应用程序时,我不知道最终会在哪里部署它。因此,我没有从OpenShift Rails 框架应用程序开始,也没有使用rhc app create ruby-X.X.X -a railsX.

当我被告知要在 open shift 上部署时,我只是配置rhc并设置了 openshift git remote

.openshift这意味着我的项目根目录中没有目录。一旦我克隆了https://github.com/openshift/rails4-example并将该项目的.openshift目录移动到我的项目根目录中,我就能够在不丢失数据库的情况下进行部署。

于 2015-06-09T19:53:20.760 回答