【问题标题】:How to tell Liquibase to ignore the filepath of changelog?如何告诉 Liquibase 忽略更改日志的文件路径?
【发布时间】:2018-03-05 19:03:23
【问题描述】:

我有一个 sql 格式的 liquibase 变更日志。它包含几个变更集,每个变更集都有一个唯一的 id。

然后我使用这个 changelog 文件执行 liquibase,它驻留在目录 /home/changelogs 中。更改已应用。然后我使用相同的更改日志文件再次运行 liquibase。正如预期的那样,这次没有应用更改。

但是,如果我随后将更改日志文件移动到 /home/changelog/migration 并再次运行 liquibase,则会应用更改。

liquibase 似乎将变更日志的路径包含在决策中,如果变更集已被应用。

我如何才能让 liquibase 仅根据 chageset-id 做出此决定,而不考虑文件路径?

非常感谢!

杰莫

【问题讨论】:

    标签: liquibase


    【解决方案1】:

    您需要在更改日志中使用 logicalFilePath。

    从文档中,

    用于在创建唯一文件时覆盖文件名和路径 变更集的标识符。移动或重命名更改时需要 日志。

    http://www.liquibase.org/documentation/databasechangelog.html

    应该允许您移动路径、文件名等。

    【讨论】:

    • 包含文件路径真的不是一个聪明的决定。
    猜你喜欢
    • 2021-04-02
    • 2018-03-06
    • 1970-01-01
    • 2021-03-24
    • 2015-01-07
    • 2020-02-12
    • 2015-08-01
    • 2013-10-13
    • 1970-01-01
    相关资源
    最近更新 更多