我对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
我尝试在模块B中使用Liquibase插件,因此将其添加到pom.xml中。除其他外,我在插件配置中指定了更改日志文件的路径。更改日志文件位于 direcory 数据库中。对于不同的版本,存在几个子文件,这些文件包含在主更改日志文件中。子文件(例如 changelog01.xml)从 CSV 文件加载数据。
我想指定相对于更改日志文件路径的 CSV 文件的路径,但以下内容不起作用,因为找不到 CSV 文件:
<loadData tableName="example" file="v1/data/example.csv" encoding="UTF-8" separator=";">
这在最新版本的Liquibase中得到了解决。另请参阅:http://blog.liquibase.org/2014/11/liquibase-3-3-0-released.html
改进
[CORE-549] – relativeToChangelogFile for loadData, loadUpdateData, sql文件
介意将您的 XML 架构位置更新到 3.3 版本:
<xsi:schemaLocation="
http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.3.xsd
">