diff --git a/pom.xml b/pom.xml index 7eac6f6..3900c35 100644 --- a/pom.xml +++ b/pom.xml @@ -45,6 +45,10 @@ runtime + + org.flywaydb + flyway-core + org.springdoc springdoc-openapi-starter-webmvc-ui @@ -100,6 +104,12 @@ + + org.flywaydb + flyway-maven-plugin + 10.17.0 + + org.springframework.boot spring-boot-maven-plugin diff --git a/src/main/java/ru/ip/example/ExampleApplication.java b/src/main/java/ru/ip/example/ExampleApplication.java index bce0fcd..7c39e36 100644 --- a/src/main/java/ru/ip/example/ExampleApplication.java +++ b/src/main/java/ru/ip/example/ExampleApplication.java @@ -17,6 +17,7 @@ import ru.ip.example.service.FilmService; import ru.ip.example.service.SeazonService; import ru.ip.example.service.SeriesService; +//ссылка на h2 БД http://localhost:8080/h2-console @SpringBootApplication public class ExampleApplication { diff --git a/src/main/java/ru/ip/example/config/EntityInitializerConfig.java b/src/main/java/ru/ip/example/config/EntityInitializerConfig.java deleted file mode 100644 index 1e6217e..0000000 --- a/src/main/java/ru/ip/example/config/EntityInitializerConfig.java +++ /dev/null @@ -1,61 +0,0 @@ -package ru.ip.example.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import ru.ip.example.domain.entity.FilmEntity; -import ru.ip.example.domain.entity.SeazonEntity; -import ru.ip.example.domain.entity.SeriesEntity; -import ru.ip.example.domain.entity.SubscribeEntity; - -import java.util.ArrayList; -import java.util.List; - -@Configuration -public class EntityInitializerConfig { - - @Bean - public List subscribes() { - ArrayList subscribes = new ArrayList<>(); - subscribes.add(SubscribeEntity.builder() - .id(0) - .name("Базовая") - .sum(200) - .build()); - return subscribes; - } - - @Bean - public List series() { - ArrayList series = new ArrayList<>(); - series.add(SeriesEntity.builder() - .id(0) - .name("Начало") - .number(1) - .build()); - return series; - } - - @Bean - public List seazons(List series) { - ArrayList seazons = new ArrayList<>(); - seazons.add(SeazonEntity.builder() - .id(0) - .number(1) - .series(series) - .build()); - return seazons; - } - - @Bean - public List films(List seazons) { - ArrayList films = new ArrayList<>(); - films.add(FilmEntity.builder() - .id(0) - .title("Блич") - .category("Фэнтези") - .releaseYear(2005) - .seazons(seazons) - .build()); - return films; - } -} diff --git a/src/main/java/ru/ip/example/domain/entity/SubscribeEntity.java b/src/main/java/ru/ip/example/domain/entity/SubscribeEntity.java index 0a7b025..1a65972 100644 --- a/src/main/java/ru/ip/example/domain/entity/SubscribeEntity.java +++ b/src/main/java/ru/ip/example/domain/entity/SubscribeEntity.java @@ -18,7 +18,7 @@ public class SubscribeEntity { @EqualsAndHashCode.Include private Integer id; - private Integer sum; + private Integer amount; private String name; } diff --git a/src/main/java/ru/ip/example/repository/FilmRepository.java b/src/main/java/ru/ip/example/repository/FilmRepository.java index 234cb54..06f453e 100644 --- a/src/main/java/ru/ip/example/repository/FilmRepository.java +++ b/src/main/java/ru/ip/example/repository/FilmRepository.java @@ -2,7 +2,6 @@ package ru.ip.example.repository; import org.springframework.data.repository.CrudRepository; import ru.ip.example.domain.entity.FilmEntity; -import java.util.List; public interface FilmRepository extends CrudRepository { } diff --git a/src/main/java/ru/ip/example/repository/SeazonRepository.java b/src/main/java/ru/ip/example/repository/SeazonRepository.java index 4a1cca4..1f0c82c 100644 --- a/src/main/java/ru/ip/example/repository/SeazonRepository.java +++ b/src/main/java/ru/ip/example/repository/SeazonRepository.java @@ -1,12 +1,7 @@ package ru.ip.example.repository; import org.springframework.data.repository.CrudRepository; -import ru.ip.example.domain.SeazonDto; -import ru.ip.example.domain.entity.FilmEntity; import ru.ip.example.domain.entity.SeazonEntity; -import ru.ip.example.domain.entity.SeriesEntity; - -import java.util.List; public interface SeazonRepository extends CrudRepository { } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index aefdc81..23ccdd6 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -5,3 +5,10 @@ spring.datasource.username=sa spring.datasource.password=password spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.h2.console.enabled=true + +flyway.user=sa +flyway.password=password +flyway.url=jdbc:h2:mem:testdb +flyway.locations=classpath:db/migration +spring.flyway.enabled=true + diff --git a/src/main/resources/db/migration/V0__data_insert.sql b/src/main/resources/db/migration/V0__data_insert.sql new file mode 100644 index 0000000..e89fe38 --- /dev/null +++ b/src/main/resources/db/migration/V0__data_insert.sql @@ -0,0 +1,4 @@ +INSERT INTO film(id, title, category, release_year) VALUES(0, 'Блич', 'Фэнтези', 2001); +INSERT INTO seazon(id, number, film_id) VALUES(0, 1, 0); +INSERT INTO series(id, name, number, seazon_id) VALUES(0, 'Начало', 1, 0); +INSERT INTO subscribe(id, name, amount) VALUES(0, 'Базовая', 200); \ No newline at end of file