为Flyway自动生成迁移SQL

oco*_*odo 9 java hibernate jpa flyway spring-boot

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

捕获自动生成的SQL并将其直接保存到新的Flyway迁移,以便查看/编辑/提交到项目存储库将非常有用.

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

小智 6

Flyway 没有对 diff 的内置支持,我在 maven spring boot 项目中使用liquidbase,并且可以使用以下方法从 JPA/hibernate 更改创建更改日志:

mvn liquibase:diff
Run Code Online (Sandbox Code Playgroud)

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


小智 5

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

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

一旦你安装了它并将 Flyway 作为你的 Maven/Gradle 依赖项,你就可以生成这样的迁移: 使用 JPA Buddy 生成 Flyway 迁移