当前位置: 首页 > 知识库问答 >
问题:

飞行方式:为什么在设置“迁移”时未创建架构?

宗弘扬
2023-03-14

场景:

    < li >具有一个架构的现有数据库,即< code>transport架构。 < li>2个迁移文件,其中版本1是初始/基本版本。版本2向< code>management模式中添加了一个表(但没有创建该模式,我希望FlyWay来创建)。

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

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

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

我在通过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个答案

姜阳
2023-03-14

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

 类似资料:
  • 我们正在我们的java,基于渐变Spring的MVC应用程序中使用飞行方式。我已将我的SQL文件保存在src/主/资源/数据库/迁移文件夹中。 下面是我的flyway gradle配置文件。 当我运行gradle flywayBaseline时,我得到如下输出。 它找到我的sql文件,但随后它没有执行它。 当我运行flywayMigrate时,我得到以下输出 这里的问题是什么?

  • 有没有办法告诉flyway在不应用迁移的情况下重新创建flyway表。例如,查看迁移文件夹中的脚本,假设它们都已应用,并简单地确保flyway表包含所有脚本。 我们的方案是,我们不允许在生产和(ISO;银行、认证)原因。规则说我们需要完全删除表。因此,当我们从生产副本重置测试环境时,我们需要重新创建飞行道表。现在,我们从现有的测试环境中复制和粘贴,但有时这与生产不同步,并且会发生各种问题。 因此,

  • 应该如何使用像Flyway这样的数据库迁移工具来管理像存储过程这样的过程数据库代码? 与DDL不同,我不希望看到存储在多个数据库迁移文件中的存储过程发生变化。如何在源代码控制下在单个文件中管理过程代码,同时利用Flyway这样的工具进行数据库迁移?

  • 问题内容: 我开始了一个使用迁移系统的django 1.8项目。 事情变得一团糟,所以我从数据库中删除了迁移文件夹和表,现在我试图重建它们,但没有成功。 我有三个应用程序(3个文件),这些模型完全反映了表格! 到目前为止,我发现的最佳方法是: 删除所有文件夹。做完了! 从表中删除所有内容。做完了! 为每个应用程序运行。做完了! 运行。做完了!(尽管只有在每个makemigrations命令之后都运

  • 我刚升级到2.1.1版,现在我看到了一个奇怪的错误——当我在我们的登台和生产数据库服务器上的数据库上运行migrate命令时,migrate失败,出现了Flyway异常,但它在我们的开发服务器上运行得很好。 这是失败时的调试输出: 很明显,它在检查元数据表时找到了模式,但由于某种原因,它不相信它是后来设置的。 模式本身在flyway.properties文件中定义 我找不到会导致此错误的dev和s

  • 我们有许多项目在许多服务器上运行,查找一个数据库,我们正在考虑为每个项目设置Flyway以控制我们的数据库结构。 但是,如果某些项目同时重新部署,我们担心并发迁移问题。(顺便说一句,我们总是在sql语法中照顾“如果存在”的事情) Flyway如何在同一数据表或其他结构发生并发更改时工作?