【问题标题】:Liquibase <loadData> with file relative to the script fileLiquibase <loadData> 文件相对于脚本文件
【发布时间】:2014-11-16 12:51:18
【问题描述】:

在 liquibase 中,我可以包含路径相对于当前脚本文件的文件:

<include file="initialise/data.xml" relativeToChangelogFile="true"/>

在更改集中,我还可以使用我想要插入的数据指向一个文件,例如像这样:

<changeSet author="system-init" id="load-Company">
    <loadData tableName="Company" file="liquibase/initialise/Company.csv">

但是,这次我需要使用相对于我运行 liquibase 命令的当前目录的路径。是否有可能在这里以某种方式使用脚本相对路径?

【问题讨论】:

  • 我不确定您为什么要这样做,但这似乎是个坏主意。您的变更日志等应以一致的结构存储在修订控制系统中,以便变更日志的所有用户拥有相同的世界观。

标签: liquibase


【解决方案1】:

最新版本的 Liquibase 解决了这个问题。也可以看看: https://www.liquibase.org/2014/11/liquibase-3-3-0-released.html

改进

[CORE-549] – 用于 loadData、loadUpdateData 的 relativeToChangelogFile, sql文件

请注意将您的 XML 架构位置更新为 3.3 版本:

<xsi:schemaLocation="
    http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.3.xsd
               ">

【讨论】:

    猜你喜欢
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多