Spring Flyway Support

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

TODO

  • Understand how main/resource/db/migration/V1.0_init.sql drives schema creation with Spring Data JPA.

Database Migration on Startup

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html#howto-execute-flyway-database-migrations-on-startup

Flyway database migration is automatically triggered on startup if "org.flywaydb:flyway-core" dependency is present in the application's classpath.

The migration script naming convention is V<version>_<name>.sql where:

  • <version> is an underscore separated version, such as "1" or "1_2".

The migration script default location is "classpath:db/migration[/{vendor}]", but it can be overridden with the "spring.flyway.locations" property, which should contain a comma-separated list of one or more classpath: or filesystem: locations.

spring.flyway.locations=classpath:db/migration,filesystem:/opt/migration

The {vendor} placeholder is set according to the type of database.

Configuration

https://github.com/spring-projects/spring-boot/blob/v2.1.1.RELEASE/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayProperties.java

Organizatorium

  • Disable flyway support:

How to Enable Flyway

How to Disable Flyway