modifyDataType in Liquibase against SQL Server



我试图修改数据类型的一些列从int到bigint使用:

<modifyDataType tableName="ACCESS_HISTORY" columnName="ID" newDataType="${LongType}"/>

我将LongType定义为:

<property name="LongType" value="bigint" dbms="mssql"/>

我在Liquibase JIRA (https://liquibase.jira.com/browse/CORE-1062)中注意到,2011年有一个已知的与PKs和fk相关的问题需要删除。对我来说,把钥匙扔掉再重新制作可不是一个好办法。

我得到的错误是:
liquibase.exception.MigrationFailedExc
eption: Migration failed for change set ChangeColumnTypes.xml::4-4-060
-2::thof:
     Reason: liquibase.exception.DatabaseException: Error executing SQL ALTER TA
BLE [dbo].[ACCESS_HISTORY] ALTER COLUMN [ID] BIGINT: The object 'PK_Access_Histo
ry' is dependent on column 'ID'.:
          Caused By: Error executing SQL ALTER TABLE [dbo].[ACCESS_HISTORY] ALTE

R COLUMN [ID] BIGINT:对象'PK_Access_History'依赖于列'ID'

我想知道是否有人绕过了这个?提前感谢

恐怕目前没有办法做到这一点,除非您放弃PK约束。你说的这个bug应该会在liquidbase的第三版中修复,但是这个版本还没有发布日期。

对不起!

由于Liquibase是开源的,您可以随时自己修复错误。:)

相关内容

  • 没有找到相关文章

最新更新