16

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

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

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

4

3 回答 3

30

您使用了错误的重构操作。尝试修改数据类型

于 2013-09-13T00:24:02.857 回答
23
<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以获取更多文档

于 2016-04-28T08:17:59.637 回答
3

或者你可以使用 sql 标签来做:

<changeSet author="liquibase-sql" id="example-sql" context="migrate">
    <sql dbms="mysql">
      ALTER TABLE tablename MODIFY COLUMN password NVARCHAR(64)
    </sql>
</changeSet>
于 2017-12-15T09:45:38.203 回答