我想使用在这里描述的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文件中创建相应的架构。
我该如何整理?
也在我的项目中,我使用基于bean(Entities)定义的模式自动生成,因此spring.jpa.hibernate.ddl-auto = none
+无法将模式从jar复制到本地shema.sql
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
应该会让您度过美好的一天,并且完全不会影响任何其他可能的选项。