如何将默认值设置为JPA实体和Liquibase



我有JPA实体,我在其中添加了一个布尔属性:

@Column(name = "attestation_reception_du_ok") private boolean attestationReceptionDuOk;

然后我运行 liquibase:diff 生成XML文件以更新我的数据库。

然后,我意识到我需要为属性添加默认值。因此,我更新了XML液体生成的文件:

<addColumn tableName="collaborateur">
         <column name="attestation_reception_du_ok" type="bit"
                 defaultValueBoolean="false"/>
</addColumn>

我运行了Liquibase,它更新了MySQL表,并使用默认值。

,但后来我再次运行了Liquibase,并添加了此更改:

<dropDefaultValue columnDataType="boolean default 0"
                        columnName="attestation_reception_du_ok"
                        tableName="collaborateur"/>

所以我决定更新我的JPA实体,以告诉Liquibase保留默认值选项:

@Column(name = "attestation_reception_du_ok" , columnDefinition = "bit  default 0")
    private boolean attestationReceptionDuOk;

,但是即使在JPA实体中添加了默认值之后,Liquibase仍在告诉我删除默认值。

我该怎么做才能告诉liquibase保持默认值?

谢谢。

这是与第3.6版上修复的液体有关的问题。根据此问题跟踪。只需更新您的Liquibase版本即可使其正常工作。

最新更新