更新liquibase中列的类型

Chr*_*311 4 changeset liquibase

我想更新名为"password"的列的类型.目前它的类型为NVARCHAR(40),我希望它的类型为NVARCHAR(64).这就是我做的:

<changeSet id="1 - change password length" author="chris311">
    <update tableName="tablename">
        <column name="password" type="NVARCHAR(64)"/>
    </update>
</changeSet>
Run Code Online (Sandbox Code Playgroud)

还需要做什么?因为这显然不会改变数据库中的任何内容.

Mar*_*nor 14

您正在使用错误的重构操作.尝试modifyDataType


Mar*_*dya 9

<changeSet id="increase-password-length" author="martin">
  <modifyDataType tableName="tablename" columnName="password" newDataType="NVARCHAR(64)"/>
</changeSet>
Run Code Online (Sandbox Code Playgroud)

您可以查看http://www.liquibase.org/documentation/changes/modify_data_type.html以获取更多文档


小智 5

或者你可以使用 sql 标签:

<changeSet author="liquibase-sql" id="example-sql" context="migrate">
    <sql dbms="mysql">
      ALTER TABLE tablename MODIFY COLUMN password NVARCHAR(64)
    </sql>
</changeSet>
Run Code Online (Sandbox Code Playgroud)