我对Liquibase 3.1.1有以下问题:我想在以下项目结构中应用Liquibase:
database
- v1
- data
- example.csv
- changelog01.xml
- changelog02.xml
- v2
- changelog01.xml
- changelog02.xml
- changelog.xml
project
- moduleA
- moduleB
- pom.xml
我尝试在moduleB中使用Liquibase插件,所以我将它添加到pom.xml中。除此之外,我在插件配置中指定了changelog文件的路径。 changelog文件位于direcory数据库中。对于不同的版本,主变更日志文件中包含多个子文件。子文件(例如changelog01.xml)从CSV文件加载数据。
我想指定相对于更改日志文件路径的CSV文件的路径,但以下内容不起作用,因为找不到CSV文件:
<loadData tableName="example" file="v1/data/example.csv" encoding="UTF-8" separator=";">
答案 0 :(得分:2)
这是在最新版本的Liquibase中解决的。另见:http://blog.liquibase.org/2014/11/liquibase-3-3-0-released.html
改进
[CORE-549] - loadData的relativeToChangelogFile,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
">