我尝试使用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进行此操作。
有没有可能实现我想要的,或者我是在错误的轨道上?
答案 0 :(得分:1)
Glassfish会覆盖eclipselink DDL属性,以实现此处所述的DDL生成功能http://docs.oracle.com/cd/E18930_01/html/821-2418/gbwlh.html 它将强制写出然后用于创建表的脚本,并在需要时删除它们。我没有写入的位置,但检查是否可以通过glassfish控制它。否则,请尝试指定“eclipselink.create-ddl-jdbc-file-name”属性以定义文件名和要写入的位置。如果您只需要脚本一次并希望将其与持久性单元一起存储,您还可以在glassfish外部的简单java主类中访问持久性单元。