如何要求 spring 为 JdbcMetadataStore 创建相应的模式?
How to ask spring to create corresponding schema for JdbcMetadataStore?
我想使用此处描述的 jdbc 元数据存储:
https://docs.spring.io/spring-integration/docs/5.2.0.BUILD-SNAPSHOT/reference/html/jdbc.html#jdbc-metadata-store
引用:
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)
);
我在 jar 文件中找到了我的 postgresql 的架构。当然,我可以只在 pgAdmin 中复制此架构和 运行 一次,但我想要求 spring 检查我当前的架构是否存在,如果不存在 - 从 jar 文件创建相应的架构。
我怎样才能得到它?
P.S.
同样在我的项目中,我使用基于 beans(实体)定义的模式自动生成,所以 spring.jpa.hibernate.ddl-auto = none
+ 将模式从 jar 复制到本地 shema.sql
不是一个选项
spring.jpa.hibernate.ddl-auto
与 Spring 集成 JDBC 支持完全无关。那个是针对 JPA 的,其完成方式与 shema.sql
.
完全不同
实际上,org.springframework.integration.jdbc
包中提到的那些脚本由 Spring 引导自动扫描,并在数据库中填充适当的模式。
参见相应的 Spring 引导文档:https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/html/spring-boot-features.html#boot-features-integration
因此,选项 spring.integration.jdbc.initialize-schema=always
应该会让你开心,并且完全不会影响任何其他可能的选项。
我想使用此处描述的 jdbc 元数据存储: https://docs.spring.io/spring-integration/docs/5.2.0.BUILD-SNAPSHOT/reference/html/jdbc.html#jdbc-metadata-store
引用:
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)
);
我在 jar 文件中找到了我的 postgresql 的架构。当然,我可以只在 pgAdmin 中复制此架构和 运行 一次,但我想要求 spring 检查我当前的架构是否存在,如果不存在 - 从 jar 文件创建相应的架构。
我怎样才能得到它?
P.S.
同样在我的项目中,我使用基于 beans(实体)定义的模式自动生成,所以 spring.jpa.hibernate.ddl-auto = none
+ 将模式从 jar 复制到本地 shema.sql
不是一个选项
spring.jpa.hibernate.ddl-auto
与 Spring 集成 JDBC 支持完全无关。那个是针对 JPA 的,其完成方式与 shema.sql
.
实际上,org.springframework.integration.jdbc
包中提到的那些脚本由 Spring 引导自动扫描,并在数据库中填充适当的模式。
参见相应的 Spring 引导文档:https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/html/spring-boot-features.html#boot-features-integration
因此,选项 spring.integration.jdbc.initialize-schema=always
应该会让你开心,并且完全不会影响任何其他可能的选项。