0

我尝试使用 Flyway 来更新我的数据库。为了设置 Flyway,我需要获取当前的 DDL。Normaly 将通过配置使用 EclipseLinks 模式生成机制:

<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
<property name="eclipselink.ddl-generation.output-mode" value="sql-script" />

但我无法使用 GlassFish 3.1.2 来完成这项工作。

有没有可能实现我想要的,还是我走错了路?

4

1 回答 1

1

Glassfish 为其自己的 DDL 生成功能覆盖了 eclipselink DDL 属性,此处描述了http://docs.oracle.com/cd/E18930_01/html/821-2418/gbwlh.html 它将强制写出然后用于创建表的脚本,并在需要时删除它们。我没有将它们写入的位置,但请检查您是否可以通过 glassfish 控制它。否则,请尝试指定“eclipselink.create-ddl-jdbc-file-name”属性来定义文件名和要写入的位置。如果您只需要一次脚本并希望将其与持久性单元一起存储,您还可以在 glassfish 外部的简单 java 主类中访问持久性单元。

于 2013-07-05T11:47:28.113 回答