我正在尝试为Liquibase工作获取loadData。 我正在使用Dropwizard 1.3.5和Postgres作为数据库。
我的LoadData看起来像:
<loadData catalogName="postgres"
encoding="UTF-8"
file="db/data/useraccount.csv"
schemaName="public"
tableName="useraccount">
<column name="id" type="SEQUENCE" defaultValue="useraccount_id_seq"/>
我的csv如下:
“ id”,“ account_id”,“用户名”,“电子邮件” 0,“ df98suf8sddffsdf8”,“ myuser”,“ my@user.com”
我还尝试使用不带引号的'1'或'NULL'代替'0'(当然不带引号)。
在此上运行迁移时,我得到一个异常,该异常表明对于“ id”列给出了NULL,但是此列具有非null约束。
因此,它没有使用给定的序列,而是将值转换为NULL。
当将列定义更改为type =“ NUMERIC”且不使用'valueComputed'时,它将正确插入id = 0的行,但不使用顺序。
<loadData catalogName="postgres"
encoding="UTF-8"
file="db/data/useraccount.csv"
schemaName="public"
tableName="useraccount">
<column name="id" type="NUMERIC"/>
将定义更改为:
<loadData catalogName="postgres"
encoding="UTF-8"
file="db/data/useraccount.csv"
schemaName="public"
tableName="useraccount">
<column name="id" type="SEQUENCE" />
然后输入csv:
“ id”,“ account_id”,“用户名”,“电子邮件” useraccount_id_seq,“ df98suf8sddffsdf8”,“ myuser”,“ my@user.com”
它将再次插入NULL作为id列。
也使用“ useraccount_id_seq”或“ useraccount_id_seq”无济于事。
我从此更改中获取了代码: https://liquibase.jira.com/browse/CORE-2540
我不知道我在做什么错。
任何帮助将不胜感激。