0

我正在尝试使用 Play 2 Framework 并连接到我的 IBM iSeries DB2 数据库。我似乎能够建立连接。但是,当我加载应用程序并尝试运行进化时,它失败并出现以下错误: SQLException: [SQL0204] PLAY_EVOLUTIONS in (database name) type *FILE not found。

我看了几个问题,但找不到答案:

  1. 将 Play 框架 2 与 DB2(AS400 或 LUW)一起使用
  2. Play 框架和 DB2

  3. 在 Play Framework 2.0.3上的 DB 中生成进化表的正确方法是什么?

最后一个问题是 t0mppa 在 2012 年 10 月发布的。他说他找到了一种方法,但没有分享他的方法,只是说他使用了进化源并创建了一个解决方案。我没那么好。

我觉得如果我可以只定义表,那么也许我可以手动构建表并让它工作。

谢谢

鲍勃

4

2 回答 2

2

我设法创建了一个似乎让 Evolutions 超越了这个问题的表。我从 iSeries 命令行使用 STRSQL 提交了以下 sql 语句:

CREATE TABLE library /PLAY_EVOLUTIONS (APPLY_SCRIPT CHAR (5000)
NOT NULL WITH DEFAULT, REVERT_SCRIPT CHAR (5000) NOT NULL WITH
DEFAULT, "HASH" CHAR (5000) NOT NULL WITH DEFAULT, "ID" BIGINT NOT
NULL WITH DEFAULT

我不确定字段大小是否正确(可能不是)或足够大。

现在,进入下一个问题......

于 2013-11-03T01:23:02.540 回答
2

您也可以直接禁用进化并直接创建数据库。

通过覆盖属性,您不仅可以拥有开发和生产配置,还可以拥有多种开发配置——无论您需要什么。

例子:~run -Dconfig.resource=development-local-db2.conf

从这里查看更多信息

http://www.playframework.com/documentation/2.2.x/ProductionConfiguration

于 2013-11-03T19:29:56.143 回答