diff --git a/examples/migrations-demo/flyway-demo/pom.xml b/examples/migrations-demo/flyway-demo/pom.xml index 4b2a13b9..1ef16525 100644 --- a/examples/migrations-demo/flyway-demo/pom.xml +++ b/examples/migrations-demo/flyway-demo/pom.xml @@ -11,12 +11,15 @@ org.springframework.boot spring-boot-starter-parent - 2.3.0.RELEASE + 3.1.3 + - 11 - 11 + 17 + 17 + 2.2.220 + 2.0 @@ -36,6 +39,11 @@ ${h2.version} + + org.yaml + snakeyaml + ${snakeyaml.version} + org.flywaydb diff --git a/examples/migrations-demo/flyway-demo/src/main/java/db/migration/AddUsersToCoursesReferenceTable.java b/examples/migrations-demo/flyway-demo/src/main/java/db/migration/AddUsersToCoursesReferenceTable.java index 5f01b132..82b16405 100644 --- a/examples/migrations-demo/flyway-demo/src/main/java/db/migration/AddUsersToCoursesReferenceTable.java +++ b/examples/migrations-demo/flyway-demo/src/main/java/db/migration/AddUsersToCoursesReferenceTable.java @@ -16,8 +16,13 @@ public class AddUsersToCoursesReferenceTable implements JavaMigration { DataSource ds = new SingleConnectionDataSource(context.getConnection(), true); JdbcOperations jdbc = new JdbcTemplate(ds); - jdbc.execute("create table users_courses(user_id bigint references users(id), " + - "course_id bigint references courses(id))"); + jdbc.execute(""" + CREATE TABLE users_courses ( + user_id bigint REFERENCES users(id), + course_id bigint REFERENCES courses(id), + PRIMARY KEY(user_id, course_id) + ) + """); } @Override @@ -35,11 +40,6 @@ public class AddUsersToCoursesReferenceTable implements JavaMigration { return null; } - @Override - public boolean isUndo() { - return false; - } - @Override public boolean canExecuteInTransaction() { return true; diff --git a/examples/migrations-demo/flyway-demo/src/main/java/db/migration/V3_1__2020_05_26_Add_courses_table.java b/examples/migrations-demo/flyway-demo/src/main/java/db/migration/V3_1__2020_05_26_Add_courses_table.java index 71aab47c..7f09bf44 100644 --- a/examples/migrations-demo/flyway-demo/src/main/java/db/migration/V3_1__2020_05_26_Add_courses_table.java +++ b/examples/migrations-demo/flyway-demo/src/main/java/db/migration/V3_1__2020_05_26_Add_courses_table.java @@ -14,6 +14,13 @@ public class V3_1__2020_05_26_Add_courses_table extends BaseJavaMigration { public void migrate(Context context) throws Exception { DataSource ds = new SingleConnectionDataSource(context.getConnection(), true); JdbcOperations jdbc = new JdbcTemplate(ds); - jdbc.execute("create table courses(id bigserial, name varchar(255))"); + + jdbc.execute(""" + create table courses ( + id bigserial, + name varchar(255), + primary key(id) + ) + """); } } diff --git a/examples/migrations-demo/flyway-demo/src/main/java/ru/otus/spring/config/AppConfig.java b/examples/migrations-demo/flyway-demo/src/main/java/ru/otus/spring/config/AppConfig.java index 6c36acda..848c60e7 100644 --- a/examples/migrations-demo/flyway-demo/src/main/java/ru/otus/spring/config/AppConfig.java +++ b/examples/migrations-demo/flyway-demo/src/main/java/ru/otus/spring/config/AppConfig.java @@ -4,7 +4,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.DependsOn; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; -import javax.persistence.EntityManagerFactory; +import jakarta.persistence.EntityManagerFactory; import javax.sql.DataSource; public class AppConfig { diff --git a/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/1.0/V1_1__2019_01_11_Add_users_table.sql b/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/1.0/V1_1__2019_01_11_Add_users_table.sql index 1d12422d..3ab54e0c 100644 --- a/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/1.0/V1_1__2019_01_11_Add_users_table.sql +++ b/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/1.0/V1_1__2019_01_11_Add_users_table.sql @@ -1,4 +1,9 @@ --date: 2019-01-11 --author: ydvorzhetskiy -create table users (id bigserial, login varchar(50), password varchar(50)) \ No newline at end of file +create table users ( + id bigserial, + login varchar(50), + password varchar(50), + primary key(id) +) \ No newline at end of file diff --git a/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/2.0/V2_2__2020_05_25_Add_emails_table.sql b/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/2.0/V2_2__2020_05_25_Add_emails_table.sql index c03d2734..ecf1827b 100644 --- a/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/2.0/V2_2__2020_05_25_Add_emails_table.sql +++ b/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/2.0/V2_2__2020_05_25_Add_emails_table.sql @@ -4,5 +4,6 @@ create table emails ( id bigserial, user_id bigint references users(id) ON DELETE CASCADE, - email varchar(50) + email varchar(50), + primary key(id) ) \ No newline at end of file diff --git a/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/data/R__0004_Add_courses.sql b/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/data/R__0004_Add_courses.sql index d8a6eafa..26305d30 100644 --- a/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/data/R__0004_Add_courses.sql +++ b/examples/migrations-demo/flyway-demo/src/main/resources/db/migration/data/R__0004_Add_courses.sql @@ -6,5 +6,5 @@ values (1, 'Разработчик Java'), insert into users_courses (user_id, course_id) values (1, 1), (1, 2), (1, 3), (1, 4), - (2, 1), (2, 2), (1, 3), + (2, 1), (2, 2), (2, 3), (3, 3), (3, 4); \ No newline at end of file diff --git a/examples/migrations-demo/liquibase-demo/pom.xml b/examples/migrations-demo/liquibase-demo/pom.xml index 74ef6864..8ebe4db8 100644 --- a/examples/migrations-demo/liquibase-demo/pom.xml +++ b/examples/migrations-demo/liquibase-demo/pom.xml @@ -11,12 +11,15 @@ org.springframework.boot spring-boot-starter-parent - 2.3.0.RELEASE + 3.1.3 + - 11 - 11 + 17 + 17 + 2.2.220 + 2.0 @@ -30,6 +33,12 @@ spring-boot-starter-data-jpa + + org.yaml + snakeyaml + ${snakeyaml.version} + + com.h2database h2