在spring boot中为不同的数据源加载不同的schema.sql和data.sql
Posted
技术标签:
【中文标题】在spring boot中为不同的数据源加载不同的schema.sql和data.sql【英文标题】:Load different schema.sql and data.sql for different datasources in spring boot 【发布时间】:2019-06-22 09:12:57 【问题描述】:我的 Spring Boot 应用程序中有两个数据源。我想在启动时为具有两个不同 schema.sql 和 data.sql 文件的数据源的本地配置文件初始化数据库。怎么做?
【问题讨论】:
Spring Boot 2 Multiple Datasources initialize schema的可能重复 【参考方案1】:根据文档的85.3 Initialize a Database 部分:
Spring Boot 可以自动创建 DataSource 的模式(DDL 脚本)并初始化它(DML 脚本)。它分别从标准根类路径位置加载 SQL:schema.sql 和 data.sql。此外,Spring Boot 处理 schema-$platform.sql 和 data-$platform.sql 文件(如果存在),其中 platform 是 spring.datasource.platform 的值。 这允许您在必要时切换到特定于数据库的脚本。例如,您可以选择将其设置为数据库的供应商名称(hsqldb、h2、oracle、mysql、postgresql 等) )。
【讨论】:
以上是关于在spring boot中为不同的数据源加载不同的schema.sql和data.sql的主要内容,如果未能解决你的问题,请参考以下文章
spring boot的spring.factories配置的不同类/以及加载时机
你可以在 Spring Boot 中为多个模型设置一个控制器吗?
Spring Boot 加载不同名称的 log4j2.xml log4j2-app.xml
spring-boot 应用程序不会将夹具加载到多个数据源之一