使用现有表在数据库上运行flyway迁移

使用现有表在数据库上运行flyway迁移,flyway,Flyway,我正在postgres DB上使用现有表运行flyway迁移。在这样做时,flyway抛出了这个错误 找到非空架构“public”,但没有架构历史记录表。使用baseline()或将baselineOnMigrate设置为true来初始化架构历史记录表。 打开文档阅读后,我们需要做的就是将其切换到true,这样我们就可以完成迁移了 需要明确启用此功能: 我们是否只将FLYWAY\u-BASELINE\u-ON\u-MIGRATE设置为TRUE一次,并且在创建模式历史记录表时,我们可以将其返回到

我正在postgres DB上使用现有表运行flyway迁移。在这样做时,flyway抛出了这个错误

找到非空架构“public”,但没有架构历史记录表。使用baseline()或将baselineOnMigrate设置为true来初始化架构历史记录表。
打开文档阅读后,我们需要做的就是将其切换到
true
,这样我们就可以完成迁移了

需要明确启用此功能:
我们是否只将
FLYWAY\u-BASELINE\u-ON\u-MIGRATE
设置为
TRUE
一次,并且在创建模式历史记录表时,我们可以将其返回到
FALSE
?或者我们必须保留
TRUE
值吗?

是的,您只需设置一次。这种方法实际上只适用于Flyway从配置文件中获取其所有参数的情况……它仅用于一次使用(例如,仅用于数据库的一个特定副本,即多个副本中的一个)。通常,您可以从命令行中的操作创建基线,如下所示:

Flyway baseline  @FlywayArgs -baselineVersion='1.3.1' -baselineDescription='Existing version of MyDatabase'
本文使用的是SQL Server数据库而不是Postgres,但可能会对flyway基线的工作原理有一个很好的了解: