liquibase 中的 loadUpdateData,select 只有 csv 中的一些列
loadUpdateData in liquibase, select only some columns from csv
假设具有以下 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.
我自己还没有尝试过,但查看代码(对于 LoadDataChange
)似乎有一个选项 "skip" 列配置:
if ("skip".equalsIgnoreCase(columnConfig.getType())) {
continue;
}
所以也许您可以为“c
”添加一个列配置并将其类型设置为 "skip":
<column name="c" header="c" type="skip" />
假设具有以下 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.
我自己还没有尝试过,但查看代码(对于 LoadDataChange
)似乎有一个选项 "skip" 列配置:
if ("skip".equalsIgnoreCase(columnConfig.getType())) {
continue;
}
所以也许您可以为“c
”添加一个列配置并将其类型设置为 "skip":
<column name="c" header="c" type="skip" />