liquibas 修改 mysql表中列的字段 字符集编码 排序规则
近日 使用 liquibas 来构建 数据库操作时,原有表中存入 微信姓名 信息,需要使用 urf8mb4 编码,但是原来是 utf8 ,避免直接修改 整个库 字符集编码,采用 单独修改 相关字段 字符集编码。
modifyDataType
<changeSet id="20200825022001_1" author="wangxiaoer">
<modifyDataType tableName="user" columnName="name" newDataType="varchar(100)"/>
</changeSet>
采用 modifyDataType 方式只能修改 某一个列的 数据类型。
经过 找寻 官方文档,都没有找到 相关修改的标签。
采用方法
liquibas 支持使用 sql 标签 直接 操作执行 数据库代码
注意 执行下方sql 会直接 修改 字符 排序规则。utf8mb4_general_ci
<changeSet id="20210429101752" author="wangxiaoer">
<sql endDelimiter="\nGO"
splitStatements="true"
stripComments="true">
ALTER TABLE user CHANGE name name VARCHAR(100) CHARACTER SET utf8mb4;
</sql>
</changeSet>