通过Liquibase从csv上传双精度值到PostgreSQL时出现问题

pw9qyyiw  于 2023-06-29  发布在  PostgreSQL
关注(0)|答案(1)|浏览(149)

我尝试使用csv文件通过Liquibase将我的种子数据上传到我的数据库。它适用于我的大多数文件,但其中一个包含双值,我得到的消息是:

liquibase.exception.DatabaseException: org.postgresql.util.PSQLException:   
ERROR: column "cost" is of type double precision but expression is of type character varying  
Hinweis: You will need to rewrite or cast the expression.

CSV看起来像这样:

id;cost;cost_total_amount_due;external_usage_id;date
1;2.64;1400.12;4690628034847879278;2021-01-01T00:00:00
2;2.89;1389.48;4710591818684646637;2021-01-01T00:00:00
3;3.07;1326.49;4702017385332378912;2021-01-01T00:00:00
4;2.9;1542.05;4705617753718220084;2021-01-01T00:00:00
5;3.19;1450.21;4708875018849887666;2021-01-01T00:00:00

更新日志是这样的:

databaseChangeLog:
  - changeSet:
      id: usagesCsvData
      author: malte_enbergs
      changes:
        - loadData:
            tableName: usages
            separator: ;
            file: classpath:/liquibase/data/usages.csv

我已经尝试将列显式指定为NUMERIC:

columns:
   - column:
        header: cost
        type: NUMERIC

也许这是一个相当菜鸟的错误,我必须写不同的值或什么,但我很难找到解决方案。
所以谢谢你的帮助,如果我应该提供任何其他东西,请让我知道。
善良的守护者
马尔特

sr4lhrrt

sr4lhrrt1#

只需在列定义中将header更改为name

columns:
  - column:
    name: cost
    type: NUMERIC

相关问题