【发布时间】:2018-10-14 16:30:11
【问题描述】:
我正在尝试使用 liquibase 添加一个新字段
<addColumn tableName="contact_client">
<column defaultValue="0"
defaultValueBoolean="0"
name="obsolete"
type="boolean"/>
</addColumn>
但我收到此错误:
liquibase.exception.DatabaseException:默认值无效 '过时' [失败的 SQL:ALTER TABLE myApp.contact_client ADD 过时 BIT(1) DEFAULT 'false' NULL]
如何传递默认值?
【问题讨论】:
-
我猜你正在使用mySQL?错误消息来自您的数据库。虽然 liquibase 当然创建了 SQL。您可以尝试通过在数据库上手动运行生成的 SQL 来找出问题所在。 (也许
DEFAULT false上没有单引号?)当您知道出了什么问题时,也许可以在liquibase jira 中查找已经报告的错误。或者只是将更改日志defaultValue="0"的值更改为其他值(尽管我怀疑 0 值是问题所在)。
标签: liquibase