Flyway忽略指定的模式

Posted

技术标签:

【中文标题】Flyway忽略指定的模式【英文标题】:Flyway ignoring specified schema 【发布时间】:2021-09-16 13:30:27 【问题描述】:

尝试部署我的应用时出现此错误:

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

问题是我已指定 flyway 使用名为linked_note 的不同模式,其中模式表历史记录实际上是。这是我的配置:

spring:
  datasource:
    tomcat:
      initSQL: ""
  flyway:
    locations: classpath:db/migration/common, db/migration/crunchy
    schemas: linked_note
    table: schema_version

为什么 flyway 会忽略指定的架构? 为什么默认是公开的?

【问题讨论】:

【参考方案1】:

我想您已经有了一个数据库,并定义了一个模式。为了为其设置 flyway,您需要在配置 yaml 中添加以下属性。

https://flywaydb.org/documentation/configuration/parameters/baselineOnMigrate

【讨论】:

以上是关于Flyway忽略指定的模式的主要内容,如果未能解决你的问题,请参考以下文章

Flyway - 迁移到特定版本

为啥 flyway 会忽略我的 SQL 迁移文件?

Flyway 一个模式中的多个元数据表

Flyway 数据库迁移到多个模式

使用 flyway 从 oracle 指定版本

Flyway 升级 4.2.0 -> 5.0.0 迁移失败,即使指定了 flyway.table