如何要求Spring为JdbcMetadataStore创建相应的架构?

问题描述 投票:0回答:1

我想使用在这里描述的jdbc元数据存储:https://docs.spring.io/spring-integration/docs/5.2.0.BUILD-SNAPSHOT/reference/html/jdbc.html#jdbc-metadata-store

quote:

org.springframework.integration.jdbc软件包具有数据库模式一些RDMBS供应商的脚本。例如,以下清单显示元数据表的H2 DDL:

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。

也在我的项目中,我使用基于bean(Entities)定义的模式自动生成,因此spring.jpa.hibernate.ddl-auto = none +无法将模式从jar复制到本地shema.sql

java spring-integration metadata spring-integration-dsl spring-integration-jdbc
1个回答
2
投票

spring.jpa.hibernate.ddl-auto与Spring Integration JDBC支持完全无关。那是针对JPA的,实际上是与shema.sql不同的方式。

实际上,org.springframework.integration.jdbc包中提到的那些脚本由Spring Boot自动扫描,并在数据库中填充了适当的模式。

请参见相应的Spring Boot文档: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应该会让您度过美好的一天,并且完全不会影响任何其他可能的选项。

© www.soinside.com 2019 - 2024. All rights reserved.