【问题标题】:Liquibase generating changelogLiquibase 生成变更日志
【发布时间】:2019-11-07 18:15:21
【问题描述】:

我已经用谷歌搜索了几个小时,但似乎没有另一种创建 liquibase 更改日志文件的方法,而是手动创建。

没有任何工具或命令行来自动创建变更日志文件吗?我正在使用为新实体正确创建变更日志的 JHipster,但正如 here 所述,JHipster 不会为更新的实体生成新的变更日志,所以我想知道它们是否是生成额外变更日志的任何工具?实际上,我是通过手动编写 xml 文件来创建变更日志的,它似乎效率不高。

感谢您的阅读。

【问题讨论】:

标签: jhipster liquibase


【解决方案1】:

您可以尝试从您的 JPA 实体生成变更日志,然后按照here 的描述有选择地将它们添加到您的变更日志中,您可以在其中找到有关如何从 jpa 实体生成变更日志的示例。

另一种技术可能是使用spring.jpa.hibernate.ddl-auto=update 在您的数据库中自动生成您的 jpa 实体,然后生成您的 liquibase 更改日志以导出当前数据库状态,然后选择性地将新实体添加到您的应用程序更改日志中。

您还可以使用包含先前创建的表的数据库生成 liquibase 更改日志。

liquibase --driver=driver.jdbc.Class \
     --classpath=/path/to/drivers/lib/driver.jdbc.jar \
     --changeLogFile=liquibase-changelog.xml \ 
     --url="jdbc:url:thin:@192.168.1.100:1525:path" \
     --username=USER \
     --password=PASS \
     --logLevel=debug \
     generateChangeLog

【讨论】: