加载相对于更改日志文件的 CSV 文件



我对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
               ">

最新更新