Spring Boot Flyway 配置指定系统表名称
在 Spring Boot 中,可以通过以下方式配置 Flyway 指定系统表名称:
- 在 application.properties 或 application.yml 文件中添加以下配置:
spring.flyway.table=schema_version
spring.flyway.schemas=public
这里的 spring.flyway.table 指定了 Flyway 管理数据库迁移历史记录的表名称,可以自定义为任意名称。spring.flyway.schemas 指定了要使用的数据库 schema,多个 schema 可以用逗号分隔。
- 如果使用 Java 配置方式,可以创建一个 FlywayConfiguration 类,通过 @Bean 注解配置 Flyway 的 DataSource 和 Flyway 对象,并设置相应的属性:
import org.flywaydb.core.Flyway;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
@Configuration
public class FlywayConfiguration {
@Value("${spring.flyway.table}")
private String flywayTable;
@Value("${spring.flyway.schemas}")
private String flywaySchemas;
@Bean
public Flyway flyway(DataSource dataSource) {
Flyway flyway = Flyway.configure()
.table(flywayTable)
.schemas(flywaySchemas)
.dataSource(dataSource)
.load();
flyway.migrate();
return flyway;
}
}
这里的 @Value 注解用于将配置文件中的属性值注入到对应的变量中,然后在 flyway 方法中使用这些变量来设置 Flyway 的属性。最后调用 migrate() 方法执行数据库迁移。
通过以上配置,可以指定 Flyway 使用的系统表名称和数据库 schema。
原文地址: https://www.cveoy.top/t/topic/oxCO 著作权归作者所有。请勿转载和采集!