Bluemix Liberty SQLDB

时间:2015-12-02 17:36:33

标签: ibm-cloud websphere-liberty sqldb

我创建了一个"企业模板"具有EAR文件应用程序的Liberty服务器,需要一些SQLDB连接。这是有效的,我能够将此服务器推送到Bluemix环境。

我的问题是如何打包整个内容并在一个操作中将其发布到Bluemix(即,他们将在Liberty上运行相同应用程序的实例,并使用相同的SQLDB表设置。)

从我快速浏览博客和Q& A,我发现文章提到了提前创建SQLDB,将Liberty运行时打包为.zip文件,然后使用cf push to Bluemix。因为SQLDB是提前创建的,所以数据库连接可以正常工作。

那么有没有办法将带有SQLDB创建的Liberty服务器作为一个实体打包成一个" buildpack"?如果是这样,有人可以指导我参与的步骤吗? (或文章/博客,任何事情都会有所帮助)

2 个答案:

答案 0 :(得分:1)

你无法做到。

如果你想创建一个一次完成所有操作的脚本,一个想法就是创建一个你可以在脚本中启动的简单作业(例如java)。

作业应该执行以下步骤:

  1. 使用VCAP_SERVICES连接到sqldb - bluemix服务(为此 一步你可以看到文档 https://www.ng.bluemix.net/docs/#services/SQLDB/index.html#SQLDB
  2. 在你的小工作中运行DDL(创建表,...)
  3. 关闭连接

答案 1 :(得分:1)

另一种选择是在应用程序中打包数据库迁移帮助程序(类似Flyway。然后你可以在应用程序启动时使用Java调用它(我们已经很幸运了@singleton @startup EJBs)对于这种模式)。迁移将在需要时运行,但在其他情况下保留数据库。此模式的另一个优点是您可以使用迁移来更新现有表的表(顾名思义)。