本文介紹了如何讓Spring為JdbcMetadataStore創(chuàng)建相應(yīng)的模式?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我想使用JDBC元數(shù)據(jù)存儲,如下所述:
https://docs.spring.io/spring-integration/docs/5.2.0.BUILD-SNAPSHOT/reference/html/jdbc.html#jdbc-metadata-store
報價:
org.springframework work.Integration.jdbc包具有數(shù)據(jù)庫架構(gòu)
幾個RDMBS供應(yīng)商的腳本。例如,下面的清單
顯示元數(shù)據(jù)表的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的模式。當(dāng)然,我可以只復(fù)制此模式并在pgAdmin中運(yùn)行一次,但是我想讓Spring檢查我的當(dāng)前模式是否存在,如果不存在-從JAR文件創(chuàng)建相應(yīng)的模式。
我怎樣才能防止它?
P.S.
另外,在我的項目中,我使用基于Bean(實(shí)體)定義的架構(gòu)自動生成,因此spring.jpa.hibernate.ddl-auto = none+將架構(gòu)從JAR復(fù)制到本地shema.sql不是一個選項
JDBC
spring.jpa.hibernate.ddl-auto與Spring Integration推薦答案支持完全無關(guān)。那個是針對JPA的,其實(shí)現(xiàn)方式與shema.sql完全不同。
實(shí)際上,org.springframework.integration.jdbc包中提到的那些腳本由Spring Boot自動掃描,并在數(shù)據(jù)庫中填充適當(dāng)?shù)募軜?gòu)。
請參閱各自的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應(yīng)該非常適合您,并且完全不會影響任何其他可能的選項。
這篇關(guān)于如何讓Spring為JdbcMetadataStore創(chuàng)建相應(yīng)的模式?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,






