I want to use jdbc metadata store which described here: https://docs.spring.io/spring-integration/docs/5.2.0.BUILD-SNAPSHOT/reference/html/jdbc.html#jdbc-metadata-store
quote:
The org.springframework.integration.jdbc package has Database schema scripts for several RDMBS vendors. For example, the following listing shows the H2 DDL for the metadata table:
CREATE TABLE INT_METADATA_STORE (
METADATA_KEY VARCHAR(255) NOT NULL,
METADATA_VALUE VARCHAR(4000),
REGION VARCHAR(100) NOT NULL,
constraint INT_METADATA_STORE_PK primary key (METADATA_KEY, REGION)
);
I've found schema for my postgresql in the jar file. Sure I could just copy this schema and run in the pgAdmin once but I want to ask spring to check that my current schema exist and if not - create corresponding schema from the jar file.
How can I cahieve it ?
P.S.
Also in my project I use schema auto-generation based on beans(Entities) definitions so spring.jpa.hibernate.ddl-auto = none
+ copying schema from jar to local shema.sql
is not an option
The
spring.jpa.hibernate.ddl-auto
is fully not related to Spring Integration JDBC support. That one is for JPA and is done really different way thanshema.sql
.Actually those mentioned scripts in
org.springframework.integration.jdbc
package are auto-scanned by Spring Boot and an appropriate schema is populated in the data base.See respective Spring Boot documentation: https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/html/spring-boot-features.html#boot-features-integration
So, the option
spring.integration.jdbc.initialize-schema=always
should make your day and fully does not effect any other possible options.