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

Maven flyway找到非空架构“PUBLIC”,但没有架构历史记录表

颜新
2023-03-14

我刚刚在Maven学习Spring Boot,遇到了一个无法解决的错误。我从Flyway附加了一个依赖项,当我想安装它时(我单击Lifecycle上的install),会出现以下错误:

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

这可能是什么原因造成的,如何修复?

我正在使用Java8,我对Flyway的依赖如下所示:

<dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-core</artifactId>
</dependency>

共有1个答案

易风华
2023-03-14

Spring Boot正在尝试运行Flyway迁移,作为其配置的maven目标的一部分。

找到非空架构“PUBLIC”,但没有架构历史记录表。

错误消息表示Flyway尝试运行的默认架构(PUBLIC)不是空的。因此,Flyway know需要知道数据库的状态,然后才能创建模式历史记录表并进行迁移。

使用基线()或将baselineOnMigrate设置为true以初始化架构历史表。

通过创建基线来构建迁移,有两种方法可以纠正这一问题。https://flywaydb.org/documentation/command/baseline

在Spring Boot中,可以使用spring配置迁移基线。飞行路线。baselineOnMigrate=true。

此外,Maven中的安装并不意味着安装依赖项,而是构建并将产品的构建构件放入您的。m2maven存储库。

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

  • 我知道以前有人问过这个问题,但我在这里绕圈子。。。。 我有一个postgres14数据库和一个运行flywaydb:7.13.0和flywaycore:8.5.10的Springboot应用程序 我正在使用 RDS。我使用 root 帐户手动创建了一个新数据库。当我运行Spring靴时,我的飞行路线迁移失败并出现错误 找到非空架构“public ”,但没有架构历史表。使用baseline()或将b

  • 我有一个问题,我的记录json可以为null。如何处理avro模式中的空记录?给出的文档是针对我想要为null记录获取的null属性的。

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

  • 我正在尝试为下面的json创建avro模式 错误对象是可选的,它可能是“错误”:{}下面是没有默认值的avro模式 如何在json中添加错误字段的默认值{}。

  • 问题内容: bash 命令非常酷。我知道为什么它显示行号,但是有没有办法我可以调用history命令并抑制行号? 这里的重点是使用历史命令,所以请不要回复 电流输出: 历史图形源。 所需输出: 历史图形源。 感谢大家的出色解决方案。保罗(Paul)是最简单的人,将为我工作,因为我的bash历史记录大小设置为2000。 我还想分享今天早上发现的一篇很酷的文章。它现在有几个不错的选择,例如将重复的条目