本文介紹了如何讓Spring為JdbcMetadataStore創(chuàng)建相應(yīng)的模式?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我想使用JDBC元數(shù)據(jù)存儲(chǔ),如下所述:
https://docs.spring.io/spring-integration/docs/5.2.0.BUILD-SNAPSHOT/reference/html/jdbc.html#jdbc-metadata-store
報(bào)價(jià):
org.springframework work.Integration.jdbc包具有數(shù)據(jù)庫(kù)架構(gòu)
幾個(gè)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.
另外,在我的項(xiàng)目中,我使用基于Bean(實(shí)體)定義的架構(gòu)自動(dòng)生成,因此spring.jpa.hibernate.ddl-auto = none
+將架構(gòu)從JAR復(fù)制到本地shema.sql
不是一個(gè)選項(xiàng)
JDBC
spring.jpa.hibernate.ddl-auto
與Spring Integration推薦答案支持完全無(wú)關(guān)。那個(gè)是針對(duì)JPA的,其實(shí)現(xiàn)方式與shema.sql
完全不同。
實(shí)際上,org.springframework.integration.jdbc
包中提到的那些腳本由Spring Boot自動(dòng)掃描,并在數(shù)據(jù)庫(kù)中填充適當(dāng)?shù)募軜?gòu)。
請(qǐng)參閱各自的Spring Boot文檔:https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/html/spring-boot-features.html#boot-features-integration
因此,選項(xiàng)spring.integration.jdbc.initialize-schema=always
應(yīng)該非常適合您,并且完全不會(huì)影響任何其他可能的選項(xiàng)。
這篇關(guān)于如何讓Spring為JdbcMetadataStore創(chuàng)建相應(yīng)的模式?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,