2013-07-05 25 views
0

我尝试使用迁飞来更新我的数据库。为了设置Flyway,我需要获取当前的DDL。 Normaly一个会用EclipseLinks架构生成机制配置:的EclipseLink和GlassFish:初始DDL创建

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

但我无法得到使用的GlassFish 3.1.2这个工作。

是否有可能实现我想要的东西,还是我在错误的轨道上?

回答

1

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

+0

感谢。不幸的是,第一种方法不会传递选项,因为它会操纵真实的数据库。第二种方法好得多。 – scheffield