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

找到非空架构“public ”,但没有架构历史表。使用baseline()或将baselineOnMigrate设置为true来初始化模式历史表

柴宝
2023-03-14

我知道以前有人问过这个问题,但我在这里绕圈子。。。。

我有一个postgres14数据库和一个运行flywaydb:7.13.0和flywaycore:8.5.10的Springboot应用程序

我正在使用 RDS。我使用 root 帐户手动创建了一个新数据库。当我运行Spring靴时,我的飞行路线迁移失败并出现错误

找到非空架构“public ”,但没有架构历史表。使用baseline()或将baselineOnMigrate设置为true来初始化架构历史表。

我明白发生这种情况的原因,但是当我将baselineVersion和baselineOnMigrate添加到我的flyway gradle配置中时,它仍然不起作用。我甚至添加了

flyway {
        url = dbUrl
        user = dbUser
        password = dbPassword
        schemas = ['public']
        baselineVersion = '0.0'
        baselineOnMigrate = true
        locations = ["filesystem:${dbMigrationPath}"]
       }

我还补充道

  spring.flyway.baseline-on-migrate = true

到我的应用程序属性

最让我困惑的是,如果我用root用户启动指向默认postgres数据库的应用程序。迁移成功,并创建了飞行路线历史表。但是当我运行它指向新创建的数据库时,它不起作用。

有什么想法吗?

共有2个答案

米楷
2023-03-14

对没有模式历史表的非空模式执行迁移时,是否自动调用基线。然后,在执行迁移之前,将使用基线版本对该模式进行初始化。然后将只应用高于baselineVersion的迁移。这对于在具有现有数据库的项目上进行初始Flyway生产部署非常有用。启用此功能时要小心,因为它会移除确保Flyway在出现配置错误时不会迁移错误数据库的安全网!(默认值:false)

flyway.baselineOnMigrate=

flyway.baselineOnMigrate=true

我增加了飞行路线。baselineOnMigrate在上面的语句下为true,并且它有效。

鲁旭
2023-03-14

我想通了。原来我需要在我的配置中添加baselineOn迁移标志。

Flyway.configure().baselineOnMigrate(true).dataSource(new TransactionAwareDataSourceProxy(dataSource)).load();
 类似资料:
  • 我刚刚在Maven学习Spring Boot,遇到了一个无法解决的错误。我从Flyway附加了一个依赖项,当我想安装它时(我单击Lifecycle上的install),会出现以下错误: 找到非空架构“PUBLIC”,但没有架构历史记录表。使用baseline()或将baselineOnMigrate设置为true来初始化架构历史记录表。 这可能是什么原因造成的,如何修复? 我正在使用Java8,我

  • 我正在尝试使用kotlin Spring Boot、jpa和postgreSQL配置flyway。我的gradle依赖项是: 我的application.properties文件是: 使用jpa和hibernate创建表和条目按预期工作。但是,在空数据库上进行示例迁移会导致: 我的目录结构是spring Initializer生成的默认目录结构,我的迁移位于:

  • 我正在尝试使用kotlin Spring boot、jpa和PostgreSQL配置flyway。我的分级依赖关系是: 我只有一个迁移,它是在这里找到的示例迁移的kotlinized版本,我对其进行了修改,以查看以下内容: 我错过了什么?为什么Flyway一直抱怨在数据库完全为空(干净的docker映像)的情况下,发现没有模式历史表的非空模式“public”?

  • 问题内容: 当用户选择更改页面行为的多个选项时,我正在寻找一个JavaScript历史框架来处理页面内的导航。 页面上有多个人工制品,可更改页面的数据加载,我想将其存储为堆叠的行为集。从更广泛的意义上讲,出于相同的原因,我想将其作为工具包添加到我将来的Web项目中。 我主要使用ASP.NET和JQuery进行编写,但现在我只真正担心JQuery。我确实用PHP,Python和Perl(取决于演出)

  • 历史 本书改编和包含了以下两本书的部分章节,这两本书均以GNU Free Documentation License发布。 How To Think Like A Computer Scientist: Learning with C++ 作者Allen B. Downey。原书由Green Tea Press发行,可以从http://www.greenteapress.com/下载到。 Prog

  • 大部分1980年前的 Unix 竞争者都被拴到单个硬件平台上,随着这个硬件的消亡而消亡。为什么 VMS 可以坚持这么久?值得我们作为案例研究一个原因是:VMS 成功地从最初的 VAX 硬件移植到了 Alpha 处理器(2003年正从 Alpha 移植到 Itanium 上)。MacOS 也在1980年代后期成功完成了从摩托罗拉68000到 PowerPC 芯片的迁跃。微软的 Windows 处在计