我试图使用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实现我的目标? 我已经查看了其他问题,发现我必须相应地为对象名称添加前缀。
有人能给我一个示例代码来实现解决方案吗?