2014-09-22 60 views
2

在liquibase,我可以包括相對於當前腳本文件的路徑文件:Liquibase <loadData>相對於腳本文件

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

在一個變更集,我還可以指向一個文件中的數據我想插入,例如像這樣:

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

但是,這次我需要使用路徑相對於我運行liquibase命令的當前目錄。有沒有可能以某種方式在這裏使用腳本相對路徑?

+0

我不確定你爲什麼要這樣做,但它似乎是一個壞主意。您的更改日誌等應該以一致的結構存儲在版本控制系統中,以便更改日誌的所有用戶擁有相同的世界視圖。 – SteveDonie 2014-09-22 14:49:15

回答

3

這是在最新版本的Liquibase中解決的。另請參見:http://blog.liquibase.org/2014/11/liquibase-3-3-0-released.html

改進

[CORE-549] - relativeToChangelogFile爲loadData,loadUpdateData, SQLFILE

主意時更新XML模式位置到3.3版本:

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