Spring Boot 配置 Flyway Callback

Flyway:自动执行 SQL,并对 SQL 文件进行版本管理。

Spring Boot 自带 Flyway 的自动配置,所以只要添加 Flyway 的 jar 包引用,Flyway 就能自动执行。

Spring Boot 关于 Flyway 官方文档

Maven 中添加 Flyway 引用:

        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-core</artifactId>
            <version>7.8.1</version>
        </dependency>

Flyway 默认执行 resources/db/migration 中的 SQL 脚本。在 resources 目录下建立目录 db/migration,SQL文件放在这里即可。

SQL文件的命名规则见Flyway官方文档

其他针对 Flyway 在 Spring Boot 中的配置,可以在各种查找到,以下介绍怎么在 Spring Boot 中为 Flyway 配置 Callback。
示例代码:

@Configuration
public class FlyRafterConfiguration {

    @Bean
    public FlywayConfigurationCustomizer flywayConfigurationCustomizer() {
        return configuration -> configuration.callbacks(SQLCallback());
    }

    @Bean
    public SQLCallback sqlCallback() {
        return new SQLCallback();
    }
}
public class SQLCallback implements Callback {
    

    public boolean supports(Event event, Context context) {
        return false;
    }

    public boolean canHandleInTransaction(Event event, Context context) {
        return false;
    }

    public void handle(Event event, Context context) {

    }

    public String getCallbackName() {
        return null;
    }
}

在以上代码中通过 Spring Boot 自动配置中的 FlywayConfigurationCustomizer 来为 Flyway 添加 Callback。

欢迎关注我的博客:阿呜的边城

欢迎关注我的公众号:阿呜的编程

posted on 2021-04-22 09:25  阿呜的边城  阅读(360)  评论(0编辑  收藏  举报

导航