在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中解决的。也可以看看:
https://www.liquibase.org/2014/11/liquibase-3-3-0-released.html
介意将您的XML模式位置更新到3.3版本:
<xsi:schemaLocation="
http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.3.xsd
">
关于Liquibase <loadData>,其文件相对于脚本文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25976053/