diff --git a/examples/flyway-demo/pom.xml b/examples/flyway-demo/pom.xml index 64c20811..4b2a13b9 100644 --- a/examples/flyway-demo/pom.xml +++ b/examples/flyway-demo/pom.xml @@ -27,20 +27,20 @@ org.springframework.boot - spring-boot-starter-jdbc + spring-boot-starter-data-jpa com.h2database h2 - 1.4.200 + ${h2.version} org.flywaydb flyway-core - 6.4.2 + ${flyway.version} diff --git a/examples/flyway-demo/src/main/java/ru/otus/spring/config/AppConfig.java b/examples/flyway-demo/src/main/java/ru/otus/spring/config/AppConfig.java new file mode 100644 index 00000000..6c36acda --- /dev/null +++ b/examples/flyway-demo/src/main/java/ru/otus/spring/config/AppConfig.java @@ -0,0 +1,23 @@ +package ru.otus.spring.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.DependsOn; +import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; + +import javax.persistence.EntityManagerFactory; +import javax.sql.DataSource; + +public class AppConfig { + + + // Ставим фабрику менеджеров сущностей в зависимость от Flyway, + // чтобы гарантировать ее создание, после внесения изменений в базу + @Bean + @DependsOn("flyway") + public EntityManagerFactory entityManagerFactory(DataSource dataSource) { + LocalContainerEntityManagerFactoryBean bean = new LocalContainerEntityManagerFactoryBean(); + bean.setDataSource(dataSource); + return bean.getObject(); + } + +} diff --git a/examples/flyway-demo/src/main/resources/db/migration/README.md b/examples/flyway-demo/src/main/resources/db/migration/README.md new file mode 100644 index 00000000..dd75126a --- /dev/null +++ b/examples/flyway-demo/src/main/resources/db/migration/README.md @@ -0,0 +1,2 @@ +Информацию о структуре названий файлов миграций можно найти по следующей ссылке: +* https://flywaydb.org/documentation/migrations#naming \ No newline at end of file