gpt4 book ai didi

spring-boot - Spring 启动 : Flyway migration before mybatis initialization

转载 作者:行者123 更新时间:2023-12-05 07:34:44 26 4
gpt4 key购买 nike

在我的 Spring Boot 应用程序中,我将 Flyway 与 MyBatis 一起用于数据库迁移。 问题是 MyBatis 在 Flyway 之前初始化,所以一些DB 操作被调用(在@PostConstruct 内)在DB 迁移之前

如果我查看 FlywayAutoConfiguration,则有:

@AutoConfigureAfter({DataSourceAutoConfiguration.class, ...})
public class FlywayAutoConfiguration {
...

据我了解,我需要覆盖 FlywayAutoConfiguration 并添加:

@AutoConfigureAfter({DataSourceAutoConfiguration.class})
@AutoConfigureBefore({MybatisAutoConfiguration.class})
public class FlywayAutoConfiguration {
...

不知道该怎么做。感谢您的帮助。

最佳答案

我会为 flyway() 声明一个 @Bean 定义,然后为您拥有的任何数据源声明另一个 @Bean 定义,使得确保在 flyway bean 之后初始化它,您只需在数据源 bean 声明上添加 @DependsOn("flyway") 注释即可。

通过这种方式,您可以确保数据源启动的任何数据初始化任务都将在 flyway 完成其工作后进行。

关于spring-boot - Spring 启动 : Flyway migration before mybatis initialization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50003579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com