Liquibase可以处理没有引号的csv数据吗
Can Liquibase process csv data with no quotes
我有一个具有以下格式的 CSV 文件,我想将其加载到具有 Liquibase 的 loadData 功能的 DB2 数据库中:
2,92551,1,Nature of Service / Procedure,1
(注意任何地方都没有引号)
我希望 Liquibase 将第 1、3 和第 5 列视为整数,将第 2 和第 4 列视为字符串。
我的栏目定义如下:
columns:
- column:
name: uid
type: NUMERIC
- column:
name: hcpcs_cpt_code
type: STRING
- column:
name: mue_value
type: NUMERIC
- column:
name: mue_edit_rationale
type: STRING
- column:
name: metadata_uid
type: NUMERIC
Liquibase 我们将所有列用单引号引起来并导致插入失败:
[INFO] INSERT INTO "XXXXX".MUE_NCCI_EDIT("2", "92551", "1", "Nature of Service / Procedure", "1") VALUES(?, ?, ?, ?, ?)
导致
Error: com.ibm.db2.jcc.am.SqlSyntaxErrorException: "2" is not valid in the context where it is used.. SQLCODE=-206, SQLSTATE=42703, DRIVER=4.22.29
我的 CSV 是不是太蠢了,还是我缺少 Liquibase 配置?
我尝试了 separator
和 quotechar
的各种组合,但没有成功。
好的,至少对我来说,答案是在 csv 文件中添加一个 header 行,即:
uid,hcpcs_cpt_code,mue_value,mue_edit_rationale,metadata_uid
2,92551,1,Nature of Service / Procedure,1
这与 header 属性相结合。在列定义上解决了这个问题:
columns:
- column:
name: uid
type: NUMERIC
header: uid
- column:
name: hcpcs_cpt_code
type: STRING
header: hcpcs_cpt_code
- column:
name: mue_value
type: NUMERIC
header: mue_value
- column:
name: mue_edit_rationale
type: STRING
header: mue_edit_rationale
- column:
name: metadata_uid
type: NUMERIC
header: metadata_uid
我认为这里的错误 messages/documentation 可能更清楚。我只是通过反复试验才解决的。
我有一个具有以下格式的 CSV 文件,我想将其加载到具有 Liquibase 的 loadData 功能的 DB2 数据库中:
2,92551,1,Nature of Service / Procedure,1
(注意任何地方都没有引号)
我希望 Liquibase 将第 1、3 和第 5 列视为整数,将第 2 和第 4 列视为字符串。
我的栏目定义如下:
columns:
- column:
name: uid
type: NUMERIC
- column:
name: hcpcs_cpt_code
type: STRING
- column:
name: mue_value
type: NUMERIC
- column:
name: mue_edit_rationale
type: STRING
- column:
name: metadata_uid
type: NUMERIC
Liquibase 我们将所有列用单引号引起来并导致插入失败:
[INFO] INSERT INTO "XXXXX".MUE_NCCI_EDIT("2", "92551", "1", "Nature of Service / Procedure", "1") VALUES(?, ?, ?, ?, ?)
导致
Error: com.ibm.db2.jcc.am.SqlSyntaxErrorException: "2" is not valid in the context where it is used.. SQLCODE=-206, SQLSTATE=42703, DRIVER=4.22.29
我的 CSV 是不是太蠢了,还是我缺少 Liquibase 配置?
我尝试了 separator
和 quotechar
的各种组合,但没有成功。
好的,至少对我来说,答案是在 csv 文件中添加一个 header 行,即:
uid,hcpcs_cpt_code,mue_value,mue_edit_rationale,metadata_uid
2,92551,1,Nature of Service / Procedure,1
这与 header 属性相结合。在列定义上解决了这个问题:
columns:
- column:
name: uid
type: NUMERIC
header: uid
- column:
name: hcpcs_cpt_code
type: STRING
header: hcpcs_cpt_code
- column:
name: mue_value
type: NUMERIC
header: mue_value
- column:
name: mue_edit_rationale
type: STRING
header: mue_edit_rationale
- column:
name: metadata_uid
type: NUMERIC
header: metadata_uid
我认为这里的错误 messages/documentation 可能更清楚。我只是通过反复试验才解决的。