The new image is configured as compatible with the old image, which it actually isn't.
The default database names are different, so we also set a database name that is different both from the one used by TestContainers as default and the one used by the Docker image.
If the TestContainers default is used the database is not found, because the image just creates the default one and the name doesn't mach.
If the Docker image default is used, the image creates its default database and then tries to create it again, which fails.
These workarounds may be removed once TestContainers properly supports the new image.
Closing #1528
We now specify runtime bean references to qualify the desired mapping context type instead of using autowiring that can match the wrong mapping context.
Closes#1143
Reformat code, switch to tabs. Accept property in DatabaseTypeMapping to provide more context to the type mapping component.
Rename LiquibaseChangeSetGenerator to …Writer as we're writing a changeset and computing the contents is a consequence of writing a changeset. Refine naming to express what we're actually doing.
Introduce setters for enhanced configuration of predicates. Reduce visibility of types to avoid unwanted public API where public access is not needed.
Remove usused code, move methods around for improved grouping of code.
Rename package to schema as the schema is being created and updated and not generated. Rename …Model classes to just their name as types are package-private and not visible externally. Refactor SchemaDiff to Java record.
Use different overloads to write schema changes to avoid LiquibaseException leaking into cases where no diff is being used. Introduce SchemaFilter to filter unwanted mapped entities.
Move code to JDBC module. Introduce comparator strategy to customize how table and column names are compared.
See #756
Original pull request: #1520
We now support schema creation and schema migration by generating Liquibase changesets from mapped entities. We also support evolution of schema by comparing existing tables with mapped entities to compute differential changesets.
Closes#756
Original pull request: #1520
Reuse existing EvaluationContextProvider infrastructure and static parser/parser context instances. Parse expressions early. Update Javadoc to reflect SpEL support.
Reformat code to use tabs instead of spaces. Rename types for consistency. Rename SpelExpressionResultSanitizer to SqlIdentifierSanitizer to express its intended usage.
Eagerly initialize entities where applicable. Simplify code.
See #1325
Original pull request: #1461
If SpEl expressions are specified in the `@Table` or `@Column` annotation, they will be evaluated and the output will be sanitized to prevent SQL Injections.
The default sanitization only allows digits, alphabetic characters, and _ character. (i.e. [0-9, a-z, A-Z, _])
Closes#1325
Original pull request: #1461
Operators `awaitFirstXxx` are going to be deprecated. Also, awaitFirst operator has no value on Mono types.
Closes: #1355
Signed-off-by: George Papadopoulos <george.719pap@gmail.com>
When run on CI servers, leverage an internal proxy service using Testcontainers ability to plugin a custom ImageNameSubstitor.
See #1518
Original Pull Request: #1516
Such expressions now get passed on unchanged.
This also deprecates org.springframework.data.r2dbc.query.QueryMapper.getMappedObject(Sort, RelationalPersistentEntity<?>).
It was only used in tests and translates an Order into another Order, which sounds wrong.
Closes#1512
Original pull request: #1513
SqlSort allows the specification of unsafe order-by-expressions.
Order-by-expressions that are not declared unsafe are only accepted when they
either match a property or consist only of digits, letters, underscore, dot, or parentheses.
Closes#1507