Liquibase-从CSV修剪空白

时间:2019-04-14 21:36:10

标签: csv liquibase

我有一个{strong> Liquibase 的<loadData .../>格式的CSV文件。 有一些空格可以使外观漂亮。 但是由于这些空格,我的数据库中的数据错误。

如何解决?是否存在任何“标志”或强迫 Liquibase 修剪空白的东西?

我试图使它看起来像下一个

id;name   ;surname
1 ;test123;test123
2 ;test1  ;test123
3 ;"test" ;test123

无论如何,我的数据库包含test1__test"_,其中_是空格。

quotchar="&quot;"也无济于事(按预期,这是多余的一行)。

顺便说一句,id列定义为数字-可以(1、2、3等,没有错误)。

1 个答案:

答案 0 :(得分:1)

查看此Jira issue

引用Nathan Voxland:

  

因为我认为保留默认值作为修整可能很有意义   这样会减少意外。但是,我添加了一个全局   配置标记,可让您更改默认设置。

     

您可以通过liquibase.trimCsvWhitespace = false进行设置   系统属性或通过使用   LiquibaseConfiguration.getInstance()。getProperty(GlobalConfiguration.class,   GlobalConfiguration.CSV_TRIM_WHITESPACE).setValue()API调用。

尝试添加liquibase.trimCsvWhitespace=false属性。

  

在进一步的检查中,似乎只是3.5.0中的更改。一世   通常尝试保持向后兼容性,即使   意外的行为,但认为它已随3.4.0更改,因此   将其更改回保留空白将破坏其他人   现在期望它会被修剪。

     

但是,由于仅在3.5.0中确实发生了意外更改,因此   绝对是一个错误,所以我只是将逻辑重新设置为保留   空格。

根据Jira票证,此错误已在liquibase版本3.5.1中修复,但实际上似乎不是。