如何让Spring为JdbcMetadataStore创建相应的模式? [英] How to ask spring to create corresponding schema for JdbcMetadataStore?

查看:57
本文介绍了如何让Spring为JdbcMetadataStore创建相应的模式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用JDBC元数据存储,如下所述: https://docs.spring.io/spring-integration/docs/5.2.0.BUILD-SNAPSHOT/reference/html/jdbc.html#jdbc-metadata-store

报价:

org.springframework work.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(实体)定义的架构自动生成,因此spring.jpa.hibernate.ddl-auto = none+将架构从JAR复制到本地shema.sql不是一个选项

JDBC

spring.jpa.hibernate.ddl-auto与Spring Integration推荐答案支持完全无关。那个是针对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应该非常适合您,并且完全不会影响任何其他可能的选项。

这篇关于如何让Spring为JdbcMetadataStore创建相应的模式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆