首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flyway:多个数据库具有相同的迁移版本号错误

Flyway:多个数据库具有相同的迁移版本号错误
EN

Stack Overflow用户
提问于 2018-02-17 03:41:21
回答 1查看 2.2K关注 0票数 0

在同一台服务器上设置两个数据库的基线,每个数据库都有自己编号为V2__的启动迁移脚本,我得到以下错误:

flyway:baseline会产生错误

Found more than one migration with version 2

每个迁移脚本都位于其自己的迁移目录中:db/migration/db1, db/migration/db2

我是否遗漏了配置,或者这是意料之中的?

EN

回答 1

Stack Overflow用户

发布于 2018-02-19 01:03:06

我了解到仅使用属性文件迁移多个数据库是不可能的。这只能通过使用Java代码触发迁移来实现,所以我连接了一个bean来处理这个问题:

代码语言:javascript
复制
@Configuration
public class FlywaySlaveInitializer {

    @Autowired
    Environment env;

    @Bean(initMethod = "migrate")
    @PostConstruct
    Flyway flyway() {
        String datasource = env.getProperty("flyway.url");
        String[] schemas = env.getProperty("flyway.schemas").split(",");
        String[] schemaLocations = env.getProperty("flyway.locations").split(",");

        Flyway flyway = new Flyway();

        for (int schema = 0; schema < schemas.length; schema++) {
            flyway.setDataSource(datasource + "/" + schemas[schema], "root", "root");
            flyway.setSchemas(schemas[schema]);
            flyway.setLocations("db/migration/" + schemaLocations[schema]);
            flyway.migrate();
        }

        return flyway;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48833769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档