diff --git a/infobip-spring-data-common/pom.xml b/infobip-spring-data-common/pom.xml index 404a5b2..99c43f4 100644 --- a/infobip-spring-data-common/pom.xml +++ b/infobip-spring-data-common/pom.xml @@ -5,7 +5,7 @@ com.infobip infobip-spring-data-querydsl - 9.0.6 + 9.0.7-SNAPSHOT infobip-spring-data-common diff --git a/infobip-spring-data-jdbc-annotation-processor-common/pom.xml b/infobip-spring-data-jdbc-annotation-processor-common/pom.xml index 92fdba2..09bc84b 100644 --- a/infobip-spring-data-jdbc-annotation-processor-common/pom.xml +++ b/infobip-spring-data-jdbc-annotation-processor-common/pom.xml @@ -5,7 +5,7 @@ com.infobip infobip-spring-data-querydsl - 9.0.6 + 9.0.7-SNAPSHOT infobip-spring-data-jdbc-annotation-processor-common diff --git a/infobip-spring-data-jdbc-annotation-processor/pom.xml b/infobip-spring-data-jdbc-annotation-processor/pom.xml index 77da74c..4601183 100644 --- a/infobip-spring-data-jdbc-annotation-processor/pom.xml +++ b/infobip-spring-data-jdbc-annotation-processor/pom.xml @@ -5,7 +5,7 @@ com.infobip infobip-spring-data-querydsl - 9.0.6 + 9.0.7-SNAPSHOT infobip-spring-data-jdbc-annotation-processor diff --git a/infobip-spring-data-jdbc-querydsl-boot-starter/pom.xml b/infobip-spring-data-jdbc-querydsl-boot-starter/pom.xml index d82381c..02602c0 100644 --- a/infobip-spring-data-jdbc-querydsl-boot-starter/pom.xml +++ b/infobip-spring-data-jdbc-querydsl-boot-starter/pom.xml @@ -5,7 +5,7 @@ com.infobip infobip-spring-data-querydsl - 9.0.6 + 9.0.7-SNAPSHOT infobip-spring-data-jdbc-querydsl-boot-starter diff --git a/infobip-spring-data-jdbc-querydsl/pom.xml b/infobip-spring-data-jdbc-querydsl/pom.xml index 24e2202..b48a916 100644 --- a/infobip-spring-data-jdbc-querydsl/pom.xml +++ b/infobip-spring-data-jdbc-querydsl/pom.xml @@ -6,7 +6,7 @@ com.infobip infobip-spring-data-querydsl - 9.0.6 + 9.0.7-SNAPSHOT infobip-spring-data-jdbc-querydsl diff --git a/infobip-spring-data-jpa-querydsl-boot-starter/pom.xml b/infobip-spring-data-jpa-querydsl-boot-starter/pom.xml index 5d078ab..870ff09 100644 --- a/infobip-spring-data-jpa-querydsl-boot-starter/pom.xml +++ b/infobip-spring-data-jpa-querydsl-boot-starter/pom.xml @@ -5,7 +5,7 @@ com.infobip infobip-spring-data-querydsl - 9.0.6 + 9.0.7-SNAPSHOT infobip-spring-data-jpa-querydsl-boot-starter diff --git a/infobip-spring-data-jpa-querydsl/pom.xml b/infobip-spring-data-jpa-querydsl/pom.xml index 1647eff..c6f05f6 100644 --- a/infobip-spring-data-jpa-querydsl/pom.xml +++ b/infobip-spring-data-jpa-querydsl/pom.xml @@ -5,7 +5,7 @@ com.infobip infobip-spring-data-querydsl - 9.0.6 + 9.0.7-SNAPSHOT infobip-spring-data-jpa-querydsl diff --git a/infobip-spring-data-r2dbc-querydsl-boot-starter/pom.xml b/infobip-spring-data-r2dbc-querydsl-boot-starter/pom.xml index adb69af..26cb358 100644 --- a/infobip-spring-data-r2dbc-querydsl-boot-starter/pom.xml +++ b/infobip-spring-data-r2dbc-querydsl-boot-starter/pom.xml @@ -5,7 +5,7 @@ com.infobip infobip-spring-data-querydsl - 9.0.6 + 9.0.7-SNAPSHOT infobip-spring-data-r2dbc-querydsl-boot-starter diff --git a/infobip-spring-data-r2dbc-querydsl/pom.xml b/infobip-spring-data-r2dbc-querydsl/pom.xml index 608cdac..8f1876f 100644 --- a/infobip-spring-data-r2dbc-querydsl/pom.xml +++ b/infobip-spring-data-r2dbc-querydsl/pom.xml @@ -6,11 +6,15 @@ com.infobip infobip-spring-data-querydsl - 9.0.6 + 9.0.7-SNAPSHOT infobip-spring-data-r2dbc-querydsl + + 2.1.13 + + ${project.groupId} @@ -51,6 +55,12 @@ true + + org.flywaydb + flyway-mysql + true + + io.r2dbc @@ -69,5 +79,25 @@ HikariCP test + + + com.mysql + mysql-connector-j + test + + + + com.github.jasync-sql + jasync-r2dbc-mysql + ${jasync-r2dbc-mysql.version} + test + + + + com.infobip + infobip-mysql-testcontainers-spring-boot-starter + ${infobip-testcontainers.version} + test + diff --git a/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslParameterBinder.java b/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslParameterBinder.java index 39c39b4..eb56061 100644 --- a/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslParameterBinder.java +++ b/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslParameterBinder.java @@ -1,5 +1,7 @@ package com.infobip.spring.data.r2dbc; +import com.querydsl.sql.MySQLTemplates; +import com.querydsl.sql.SQLTemplates; import io.r2dbc.spi.Parameters; import org.springframework.r2dbc.core.DatabaseClient; import org.springframework.r2dbc.core.binding.BindMarkersFactory; @@ -9,12 +11,33 @@ class QuerydslParameterBinder { private final BindMarkersFactory bindMarkersFactory; + private final boolean useNumberedBindParameters; - QuerydslParameterBinder(BindMarkersFactory bindMarkersFactory) { + QuerydslParameterBinder(BindMarkersFactory bindMarkersFactory, SQLTemplates sqlTemplates) { this.bindMarkersFactory = bindMarkersFactory; + this.useNumberedBindParameters = resolve(sqlTemplates); + } + + private boolean resolve(SQLTemplates sqlTemplates) { + + if(sqlTemplates instanceof MySQLTemplates) { + return true; + } + + return false; } DatabaseClient.GenericExecuteSpec bind(DatabaseClient databaseClient, List bindings, String sql) { + + if(useNumberedBindParameters) { + var spec = databaseClient.sql(sql); + var index = 0; + for (Object binding : bindings) { + spec = spec.bind(index++, binding); + } + return spec; + } + var parameterNameToParameterValue = parameterNameToParameterValue(bindings); var sqlWithParameterNames = getSqlWithParameterNames(parameterNameToParameterValue, sql); var spec = databaseClient.sql(sqlWithParameterNames); diff --git a/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslR2dbcRepositoryFactory.java b/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslR2dbcRepositoryFactory.java index 8e1503c..0ee1014 100644 --- a/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslR2dbcRepositoryFactory.java +++ b/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslR2dbcRepositoryFactory.java @@ -41,13 +41,14 @@ public class QuerydslR2dbcRepositoryFactory extends R2dbcRepositoryFactory { public QuerydslR2dbcRepositoryFactory(R2dbcEntityOperations operations, SQLQueryFactory sqlQueryFactory, - DatabaseClient databaseClient) { + DatabaseClient databaseClient, + SQLTemplates sqlTemplates) { super(operations); this.sqlQueryFactory = sqlQueryFactory; this.converter = operations.getConverter(); this.databaseClient = databaseClient; this.querydslParameterBinder = new QuerydslParameterBinder( - BindMarkersFactoryResolver.resolve(databaseClient.getConnectionFactory())); + BindMarkersFactoryResolver.resolve(databaseClient.getConnectionFactory()), sqlTemplates); } @Override diff --git a/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslR2dbcRepositoryFactoryBean.java b/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslR2dbcRepositoryFactoryBean.java index 8fb1a6a..e158ceb 100644 --- a/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslR2dbcRepositoryFactoryBean.java +++ b/infobip-spring-data-r2dbc-querydsl/src/main/java/com/infobip/spring/data/r2dbc/QuerydslR2dbcRepositoryFactoryBean.java @@ -16,6 +16,7 @@ package com.infobip.spring.data.r2dbc; import com.querydsl.sql.SQLQueryFactory; +import com.querydsl.sql.SQLTemplates; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.r2dbc.core.R2dbcEntityOperations; import org.springframework.data.r2dbc.repository.support.R2dbcRepositoryFactoryBean; @@ -30,6 +31,7 @@ public class QuerydslR2dbcRepositoryFactoryBean, S, private SQLQueryFactory sqlQueryFactory; private DatabaseClient databaseClient; + private SQLTemplates sqlTemplates; protected QuerydslR2dbcRepositoryFactoryBean(Class repositoryInterface) { super(repositoryInterface); @@ -37,7 +39,7 @@ protected QuerydslR2dbcRepositoryFactoryBean(Class repositoryInterf @Override protected RepositoryFactorySupport getFactoryInstance(R2dbcEntityOperations operations) { - return new QuerydslR2dbcRepositoryFactory(operations, sqlQueryFactory, databaseClient); + return new QuerydslR2dbcRepositoryFactory(operations, sqlQueryFactory, databaseClient, sqlTemplates); } @Autowired @@ -50,4 +52,9 @@ public void setDatabaseClient(DatabaseClient databaseClient) { super.setDatabaseClient(databaseClient); this.databaseClient = databaseClient; } + + @Autowired + public void setSqlTemplates(SQLTemplates sqlTemplates) { + this.sqlTemplates = sqlTemplates; + } } diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/MysqlExclusionContextLoader.java b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/MysqlExclusionContextLoader.java new file mode 100644 index 0000000..49f647d --- /dev/null +++ b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/MysqlExclusionContextLoader.java @@ -0,0 +1,22 @@ +package com.infobip.spring.data.r2dbc; + +import com.infobip.testcontainers.spring.mysql.MySQLContainerInitializer; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.test.context.SpringBootContextLoader; +import org.springframework.context.ApplicationContextInitializer; +import org.springframework.test.context.MergedContextConfiguration; + +import java.util.List; + +public class MysqlExclusionContextLoader extends SpringBootContextLoader { + + @Override + protected List> getInitializers(MergedContextConfiguration config, + SpringApplication application) { + var initializers = super.getInitializers(config, application) + .stream() + .filter(initializer -> !(initializer instanceof MySQLContainerInitializer)) + .toList(); + return initializers; + } +} diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/TestBase.java b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/TestBase.java index 272a4ca..aabeed1 100644 --- a/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/TestBase.java +++ b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/TestBase.java @@ -1,23 +1,25 @@ package com.infobip.spring.data.r2dbc; -import static org.junit.jupiter.api.TestInstance.Lifecycle.PER_CLASS; - -import java.time.Duration; -import java.util.List; -import java.util.stream.Collectors; -import java.util.stream.Stream; - import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.TestInstance; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.repository.reactive.ReactiveCrudRepository; -import org.springframework.test.context.TestConstructor; +import org.springframework.test.context.*; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import java.time.Duration; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import static org.junit.jupiter.api.TestInstance.Lifecycle.PER_CLASS; + +@ActiveProfiles("mssql") @TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL) @TestInstance(PER_CLASS) +@ContextConfiguration(loader = MysqlExclusionContextLoader.class) @SpringBootTest(classes = Main.class) public abstract class TestBase { diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/TestConfiguration.java b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/TestConfiguration.java index 5ae510f..a4b6ce4 100644 --- a/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/TestConfiguration.java +++ b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/TestConfiguration.java @@ -16,6 +16,7 @@ public class TestConfiguration { public Flyway flyway() { return new Flyway(Flyway.configure() .baselineOnMigrate(true) + .locations(env.getRequiredProperty("spring.flyway.locations")) .dataSource( env.getRequiredProperty("spring.flyway.url"), env.getRequiredProperty("spring.flyway.username"), diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/Main.java b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/Main.java new file mode 100644 index 0000000..e04edd1 --- /dev/null +++ b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/Main.java @@ -0,0 +1,18 @@ +package com.infobip.spring.data.r2dbc.mysql; + +import com.infobip.spring.data.r2dbc.EnableQuerydslR2dbcRepositories; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.context.annotation.Profile; + +@Profile("mysql") +@EnableQuerydslR2dbcRepositories +@SpringBootApplication +public class Main { + + public static void main(String[] args) { + + new SpringApplicationBuilder(Main.class).run(args); + } + +} diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/MssqlExclusionContextLoader.java b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/MssqlExclusionContextLoader.java new file mode 100644 index 0000000..4c49956 --- /dev/null +++ b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/MssqlExclusionContextLoader.java @@ -0,0 +1,22 @@ +package com.infobip.spring.data.r2dbc.mysql; + +import com.infobip.testcontainers.spring.mssql.MSSQLServerContainerInitializer; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.test.context.SpringBootContextLoader; +import org.springframework.context.ApplicationContextInitializer; +import org.springframework.test.context.MergedContextConfiguration; + +import java.util.List; + +public class MssqlExclusionContextLoader extends SpringBootContextLoader { + + @Override + protected List> getInitializers(MergedContextConfiguration config, + SpringApplication application) { + var initializers = super.getInitializers(config, application) + .stream() + .filter(initializer -> !(initializer instanceof MSSQLServerContainerInitializer)) + .toList(); + return initializers; + } +} diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/MySqlConfiguration.java b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/MySqlConfiguration.java new file mode 100644 index 0000000..5006d22 --- /dev/null +++ b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/MySqlConfiguration.java @@ -0,0 +1,10 @@ +package com.infobip.spring.data.r2dbc.mysql; + +import com.infobip.spring.data.r2dbc.TestConfiguration; +import org.springframework.context.annotation.*; + +@Import(TestConfiguration.class) +@Profile("mysql") +@Configuration +public class MySqlConfiguration { +} diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/MysqlNamedParametersSupportTest.java b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/MysqlNamedParametersSupportTest.java new file mode 100644 index 0000000..a2c4984 --- /dev/null +++ b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/MysqlNamedParametersSupportTest.java @@ -0,0 +1,62 @@ +package com.infobip.spring.data.r2dbc.mysql; + +import com.infobip.spring.data.r2dbc.TestBase; +import lombok.AllArgsConstructor; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.r2dbc.core.DatabaseClient; +import org.springframework.test.context.*; +import reactor.core.publisher.Mono; +import reactor.test.StepVerifier; + +import java.util.function.Predicate; + +import static com.infobip.spring.data.r2dbc.mysql.QPerson.person; +import static org.assertj.core.api.BDDAssertions.then; + +@AllArgsConstructor +@ContextConfiguration(loader = MssqlExclusionContextLoader.class) +@ActiveProfiles("mysql") +@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL) +@SpringBootTest(classes = Main.class) +public class MysqlNamedParametersSupportTest extends TestBase { + + private final PersonRepository repository; + private final DatabaseClient databaseClient; + + @Test + void shouldNotFailQuerydslQuery() { + // given + var given = given(givenSavedPerson("John", "Doe"), + givenSavedPerson("Johny", "Roe"), + givenSavedPerson("Jane", "Doe"), + givenSavedPerson("John", "Roe"), + givenSavedPerson("Janie", "Doe")); + + // when + var actual = given.thenMany(repository.query(query -> query.select(repository.entityProjection()) + .from(person) + .where(person.firstName.in("John", "Jane")) + .orderBy(person.firstName.asc(), + person.lastName.asc()) + .limit(1) + .offset(1)) + .all()); + + // then + StepVerifier.create(actual) + .expectNextMatches(person("John", "Doe")) + .verifyComplete(); + } + + private Mono givenSavedPerson(String firstName, String lastName) { + return repository.save(new Person(null, firstName, lastName)); + } + + private Predicate person(String firstName, String lastName) { + return person -> { + then(person).isEqualTo(new Person(person.id(), firstName, lastName)); + return true; + }; + } +} diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/Person.java b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/Person.java new file mode 100644 index 0000000..6bd321f --- /dev/null +++ b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/Person.java @@ -0,0 +1,18 @@ +package com.infobip.spring.data.r2dbc.mysql; + +import lombok.With; +import org.springframework.data.annotation.Id; +import org.springframework.data.relational.core.mapping.Table; + +@Table("person") +public record Person( + @With + @Id + Long id, + + String firstName, + + String lastName +) { + +} diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/PersonRepository.java b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/PersonRepository.java new file mode 100644 index 0000000..f895094 --- /dev/null +++ b/infobip-spring-data-r2dbc-querydsl/src/test/java/com/infobip/spring/data/r2dbc/mysql/PersonRepository.java @@ -0,0 +1,8 @@ +package com.infobip.spring.data.r2dbc.mysql; + +import com.infobip.spring.data.r2dbc.QuerydslR2dbcRepository; +import org.springframework.context.annotation.Profile; + +@Profile("mysql") +public interface PersonRepository extends QuerydslR2dbcRepository { +} diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/resources/application.yaml b/infobip-spring-data-r2dbc-querydsl/src/test/resources/application-mssql.yaml similarity index 82% rename from infobip-spring-data-r2dbc-querydsl/src/test/resources/application.yaml rename to infobip-spring-data-r2dbc-querydsl/src/test/resources/application-mssql.yaml index b03299e..010fb04 100644 --- a/infobip-spring-data-r2dbc-querydsl/src/test/resources/application.yaml +++ b/infobip-spring-data-r2dbc-querydsl/src/test/resources/application-mssql.yaml @@ -2,4 +2,5 @@ spring: r2dbc: url: r2dbc:pool:mssql://:/InfobipSpringDataJdbcQuerydslTest flyway: + locations: "classpath:db/migration/mssql" url: jdbc:sqlserver://:;database=InfobipSpringDataJdbcQuerydslTest;trustServerCertificate=true diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/resources/application-mysql.yaml b/infobip-spring-data-r2dbc-querydsl/src/test/resources/application-mysql.yaml new file mode 100644 index 0000000..e930c91 --- /dev/null +++ b/infobip-spring-data-r2dbc-querydsl/src/test/resources/application-mysql.yaml @@ -0,0 +1,11 @@ +spring: + r2dbc: + url: r2dbc:pool:mysql://:/InfobipSpringDataJdbcQuerydslTest + datasource: + url: jdbc:mysql://:/InfobipSpringDataJdbcQuerydslTest + flyway: + locations: "classpath:db/migration/mysql" + url: jdbc:mysql://:/InfobipSpringDataJdbcQuerydslTest + +testcontainers.mysql.docker.image: mysql:8.0 + diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/resources/db/migration/V1_0_0__base_schema.sql b/infobip-spring-data-r2dbc-querydsl/src/test/resources/db/migration/mssql/V1_0_0__base_schema.sql similarity index 100% rename from infobip-spring-data-r2dbc-querydsl/src/test/resources/db/migration/V1_0_0__base_schema.sql rename to infobip-spring-data-r2dbc-querydsl/src/test/resources/db/migration/mssql/V1_0_0__base_schema.sql diff --git a/infobip-spring-data-r2dbc-querydsl/src/test/resources/db/migration/mysql/V1_0_0__base_schema.sql b/infobip-spring-data-r2dbc-querydsl/src/test/resources/db/migration/mysql/V1_0_0__base_schema.sql new file mode 100644 index 0000000..b3841b6 --- /dev/null +++ b/infobip-spring-data-r2dbc-querydsl/src/test/resources/db/migration/mysql/V1_0_0__base_schema.sql @@ -0,0 +1,6 @@ +CREATE TABLE person ( + Id BIGINT AUTO_INCREMENT, + FirstName NVARCHAR(20) NOT NULL, + LastName NVARCHAR(50) NOT NULL, + CONSTRAINT PK_Person PRIMARY KEY (Id) +); \ No newline at end of file diff --git a/pom.xml b/pom.xml index f60fbdc..1f64505 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.infobip infobip-spring-data-querydsl - 9.0.6 + 9.0.7-SNAPSHOT pom Infobip Spring Data Querydsl @@ -33,7 +33,7 @@ https://github.com/infobip/infobip-spring-data-querydsl.git scm:git:git://github.com:infobip/infobip-spring-data-querydsl.git scm:git:git@github.com:infobip/infobip-spring-data-querydsl.git - infobip-spring-data-querydsl-9.0.6 + HEAD @@ -68,7 +68,7 @@ 3.2.2 5.1.0 - 4.0.1 + 4.3.2 1.0.1 @@ -147,7 +147,7 @@ com.infobip infobip-mssql-testcontainers-spring-boot-starter - ${infobip-mssql-testcontainers.version} + ${infobip-testcontainers.version} test