liquibase中的loadUpdateData,只从csv中选择一些列

时间:2015-06-17 06:48:01

标签: mysql liquibase

假设有以下csv:

a,b,c
1,2,3

其中a,b,c是列名,1,2,3是值。 是否可以仅加载列a,b?

<loadUpdateData tableName="TABLE" 
            file="file.csv"
            primaryKey="a">     
            <column name="a" header="a"/>
            <column name="b" header="b"/>
</loadUpdateData>

这将生成SQL错误,因为它将尝试插入列c。 我正在使用MySQL。

1 个答案:

答案 0 :(得分:8)

Haven没有尝试过,但是看一下代码(LoadDataChange),似乎有一个选项可以跳过&#34;跳过&#34;列配置:

if ("skip".equalsIgnoreCase(columnConfig.getType())) {
    continue;
}

所以也许你可以为&#39; c&#39;添加一个列配置。并将其类型设置为&#34;跳过&#34;:

<column name="c" header="c" type="skip" />