【发布时间】:2013-12-21 13:23:40
【问题描述】:
我创建了一个 openshift do-it-yourself 卡带,并在那里部署了一个空的 play 2.1.1 框架模板(来自opensas on github)应用程序。该应用程序运行完美,因此我着手构建一个基于 EBeans 的简单持久层,该层持久化到内存数据库中的 H2。在我的本地开发机器上,play 应用编译并运行良好,所以我将它部署到 openshift。
在我的 openshift 生产部署配置文件中,我启用了在系统重新启动/部署时执行数据库演变的选项,如 opensas 建议的那样。
在开发模式下,play 会要求你运行待处理的进化到数据库,但在 prod 模式下,你必须从命令行指定它。让我们将 play 配置为自动应用进化。像这样编辑文件 conf/openshift.conf:
# openshift action_hooks scripts configuration
# ~~~~~
openshift.play.params="-DapplyEvolutions.default=true"
部署后,我只获得了我的应用程序的维护页面。看起来要么无法在 openshift 上运行 h2 in-mem 数据库,要么数据库演化脚本没有按应有的方式自动执行。
应该可以将应用程序迁移到 postgres 数据库(openshift 中的 postgres 插件),但是对于这个应用程序,我希望在一个非常简约的软件堆栈上保持尽可能简单。
以前有人在 openshift 上做过 H2 吗?
【问题讨论】:
-
我不是这方面的 SME,但我们确实有一个用户让它工作。查看此论坛主题:openshift.com/forums/openshift/…
标签: playframework-2.0 h2 openshift