Flyway使用setSchemas方法

时间:2017-04-03 07:48:42

标签: multi-tenant flyway

我试图使用flyway来处理具有相同结构的多个模式。

我想将metadatas(version_schema中的信息)集中在一个单独的中 架构,
这样就很容易看到并检查分散在不同模式中的元数据。

正如文档所示,我尝试使用setSchemas()方法并列出了我想管理的模式。

问题是它只是迁移到列表中的第一个模式而忽略了其余模式 我使用的代码如下。

Flyway flyway = new Flyway();

flyway.setDataSource(-- Database Info..);
flyway.setSchemas("test1", "test2");
for (int i = 1; i <= 2; i++) {
    flyway.migrate();
}

作为替代方案,我在循环中设置了每个模式的名称,如下所示。

Flyway flyway = new Flyway();
flyway.setDataSource(-- Database Info..);
for (int i = 1; i <= 2; i++) {
    flyway.setSchemas("test" + i);
    flyway.migrate();
}

这样可行,但元数据位于每个架构中。

有没有办法使用flyway API实现我的目标? 我已经查看了其他问题,发现我必须相应地为对象名称添加前缀。

有人能给我一个示例代码来实现解决方案吗?

0 个答案:

没有答案