Automatic generation of migration SQL for Flyway

Viewed 9211

Is it possible for new Flyway migrations to be generated by JPA/Hibernate's automatic schema generation when a new model / field etc. are added via Java code.

It would be useful to capture the auto-generated SQL and save it directly to a new Flyway migration, for review / editing / committing to a project repository.

Thank you in advance for any assistance or enlightenment you can offer.

2 Answers

If your IDE of choice is IntelliJ IDEA, I'd recommend using the JPA Buddy plugin to do this. It can generate Flyway migrations by comparing your Java model to the target DB.

You can use it to keep your evolving model and your SQL scripts in sync. Also, it can create the init script if your DB is empty.

Once you have it installed and have Flyway as your Maven/Gradle dependency, you can generate a migration like this: Generating Flyway migration with JPA Buddy

Flyway doesn't have built-in support for diff, I use liquidbase within a maven spring boot project and changelogs can be created from JPA/hibernate changes by using:

mvn liquibase:diff

All of the options for liquibase diff are located here: http://www.liquibase.org/documentation/maven/maven_diff.html

Related