Groovy 在liquibase中更新列类型时如何保留备注?

Groovy 在liquibase中更新列类型时如何保留备注?,groovy,liquibase,Groovy,Liquibase,我尝试在中使用更新列的类型。在我通过liquibase maven插件(版本为3.8.9)运行liquibase update之后,我发现列的备注消失了 这是我的密码: changeSet(author: "root", id: "20201218-modify-data-type") { modifyDataType(columnName: "description", newDataType: "text"

我尝试在中使用更新列的类型。在我通过liquibase maven插件(版本为3.8.9)运行liquibase update之后,我发现列的备注消失了

这是我的密码:

changeSet(author: "root", id: "20201218-modify-data-type") {
    modifyDataType(columnName: "description", newDataType: "text", tableName: "t_user")

    rollback {
        modifyDataType(columnName: "description", newDataType: "varchar(2000)", tableName: "t_user")
    }
}

我无法在modifyDataType()中添加参数“remark”,因为
'remarks'对于'modifyDataType'更改是无效的属性

MySQL实现其
ALTER TABLE MODIFY COLUMN
的方式就像是删除旧列并添加新列一样。这不仅会丢失注释,还会丢失约束、主键或与“old”列相关的任何其他内容

我们没有将所有这些字段都添加到
modifyDataType
中,因为我们必须在其中包含的内容实际上是无穷无尽的。相反,如果修改mysql上的数据类型,则需要在单独的调用中重新设置备注、主键等


我们为mysql输出了一个关于丢失主键/约束信息的警告,但是我们只为非varchar数据类型显示它,以减少警告的数量。由于它会影响诸如varchar上的备注之类的内容,因此可能需要删除检查中的非varchar部分。

MySQL实现其
ALTER TABLE MODIFY COLUMN
的方式就像是删除旧列并添加新列一样。这不仅会丢失注释,还会丢失约束、主键或与“old”列相关的任何其他内容

我们没有将所有这些字段都添加到
modifyDataType
中,因为我们必须在其中包含的内容实际上是无穷无尽的。相反,如果修改mysql上的数据类型,则需要在单独的调用中重新设置备注、主键等


我们为mysql输出了一个关于丢失主键/约束信息的警告,但是我们只为非varchar数据类型显示它,以减少警告的数量。由于它会影响诸如varchar上的备注之类的内容,因此可能需要删除检查中的非varchar部分。

您使用的是什么数据库平台?对于您正在使用的平台,它可能没有在Liquibase中实现。如果您认为这是一个bug,请在这里记录一个bug:@ronak,这是MySQL。您使用的是什么数据库平台?对于您正在使用的平台,它可能没有在Liquibase中实现。如果你认为这是一个bug,请在这里记录一个bug:@ronak,这是MySQL。