更新liquibase中列的类型

时间:2013-09-12 13:03:19

标签: liquibase changeset

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

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

还有什么可做的?因为这显然不会改变数据库中的任何内容。

3 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:7)

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

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

答案 2 :(得分:0)

或者你可以使用sql标签:

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