FlyWay:为什么设置setInitOnMigrate时没有创建模式?

时间:2014-08-19 00:57:20

标签: flyway

情景:

  • 具有一个架构的现有数据库,transport架构。
  • 2个迁移文件,其中版本1是初始/基本版本。版本2为management架构添加了一个表(但是没有创建该架构,我希望FlyWay能够这样做。)

使用FlyWay API(在Java应用程序中)

//...
flyway.setSchemas("transport", "management");
flyway.setInitVersion("1");
flyway.setInitOnMigrate(true);
flyway.migrate();

迁移版本2失败,因为尚未创建management架构。这在干净的数据库上按预期成功。

通过maven插件执行迁移时遇到同样的问题。

<configuration>
    ...
    <schemas>
        <schema>transport</schema>
        <schema>management</schema>
    </schemas>
</configuration>

...

mvn flyway:init -Dflyway.initVersion=1 -Dflyway.initDescription="Base version"
mvn flyway:migrate

似乎如果您将FlyWay与现有数据库一起使用,那么您将失去让FlyWay管理其他模式的能力。

1 个答案:

答案 0 :(得分:1)

目前不支持此功能。在这一点上,这是一个全有或全无的交易。请在问题跟踪器中提交功能请求。