Maven flyway 发现非空模式 "PUBLIC" 但没有模式历史记录 table

Maven flyway Found non-empty schema(s) "PUBLIC" but no schema history table

我正在学习 Spring 使用 Maven 启动,我遇到了一个我无法解决的错误。 我附加了 Flyway 的依赖项,当我想安装它时(我在 Lifecycle 上单击安装),我收到此错误:

Found non-empty schema(s) "PUBLIC" but no schema history table. Use baseline() or set baselineOnMigrate to true to initialize the schema history table.

可能是什么原因造成的,如何解决?

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

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

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

Found non-empty schema(s) "PUBLIC" but no schema history table.

错误消息表明 Flyway 试图 运行 反对的默认架构 PUBLIC 不为空。因此,Flyway 需要知道数据库的状态,然后才能创建模式历史 table 并迁移。

Use baseline() or set baselineOnMigrate to true to initialize the schema history table.

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

在 spring 引导中,迁移基线可以配置为 spring.flyway.baselineOnMigrate=true

此外,install 在 Maven 中并不意味着安装依赖项,而是构建产品的构建工件并将其放入 .m2 maven 存储库。