自动生成用于 Flyway 的迁移 SQL

2022-09-01 23:42:51

当通过Java代码添加新模型/字段等时,JPA / Hibernate的自动模式生成是否可以生成新的Flyway迁移。

捕获自动生成的SQL并将其直接保存到新的Flyway迁移中,以供查看/编辑/提交到项目存储库会很有用。

提前感谢您提供的任何帮助或启发。


答案 1

如果你选择的IDE是IntelliJ IDEA,我建议使用JPA Buddy插件来做到这一点。它可以通过将您的Java模型与目标数据库进行比较来生成Flyway迁移。

您可以使用它来保持不断发展的模型和 SQL 脚本同步。此外,如果您的数据库为空,它可以创建初始化脚本。

一旦你安装了它,并将Flyway作为你的Maven/Gradle依赖项,你可以生成如下迁移:Generating Flyway migration with JPA Buddy


答案 2

Flyway没有对diff的内置支持,我在maven spring boot项目中使用liquidbase,并且可以通过使用JPA /休眠更改来创建更改日志:

mvn liquibase:diff

液碱差异的所有选项都位于此处:http://www.liquibase.org/documentation/maven/maven_diff.html


推荐