在Openshift上坚持使用H2 in-mem数据库

时间:2013-06-07 09:21:48

标签: playframework-2.0 h2 openshift

我创建了一个openshift自己动手的盒式磁带,并在那里部署了一个空的2.1.1框架模板(来自opensas on github)app。该应用程序完美运行,因此我继续构建一个基于EBean的简单持久层,该层持久存储到内存数据库中的H2。在我的本地开发框中,播放应用程序编译并运行正常,因此我将其部署到openshift。

在我的openshift生产部署配置文件中,我启用了选项,可以在系统重启/部署时执行数据库演进,就像opensas推荐的那样。

  

在开发模式下,play会要求您对数据库运行待定进化,但在prod模式下,您必须从命令行指定它。让我们配置播放以自动应用演进。像这样编辑文件conf / openshift.conf:

# openshift action_hooks scripts configuration
# ~~~~~
openshift.play.params="-DapplyEvolutions.default=true"

部署后,我只获得了应用的维护页面。看起来要么无法在openshift上运行h2 in-mem数据库,要么数据库演化脚本不会自动执行。

应该可以将应用程序迁移到postgres数据库(在openshift中的postgres盒式磁带),但对于这个应用程序,我希望在非常简单的软件堆栈上尽可能简单。

之前有人在openshift上做过H2吗?

1 个答案:

答案 0 :(得分:0)

确保你的action_hook是可执行的(chmod + x),并且它实际上是通过让你在$ OPENSHIFT_DATA_DIR中写一个测试文件来运行的,只是为了确保。