Spring-boot,由数据库平台自定义属性

时间:2018-01-02 20:21:45

标签: java spring-boot

我想通过供应商或平台获得spring boot init-sql动态属性。这可能吗?

spring.datasource.tomcat.mysql-initSQL=mysql query
spring.datasource.tomcat.h2-initSQL=h2 query

我知道可以使用其他属性,例如flyway迁移:

flyway.locations=db/migration/{vendor}

或使用sql initilization文件

schema-${platform}.sql

1 个答案:

答案 0 :(得分:1)

您可以使用Spring配置文件执行此操作。

创建2个个人资料。 1) H2 2) MySQL

在类路径schema-h2.sql, schema-mysql.sql

中创建两个init sql文件

spring.datasource.platform属性添加到配置文件

In H2 Profile => "spring.datasource.platform = h2"
In MySQL Profile => "spring.datasource.platform = mysql"

如下所示。

当您使用h2配置文件(spring.profile.active = h2)启动应用程序时,将选择schema-h2.sql进行初始化。

当您使用mysql配置文件(spring.profile.active = h2)启动应用程序时,将选择schema-mysql.sql进行初始化。