如何指示 SSDT 在部署过程中忽略生成的约束名称?

问题描述 投票:0回答:1

我的数据库包含一个这样定义的表

CREATE TABLE [dbo].[MyTable]
(
    [TradeBlockId] [bigint] NOT NULL,
    ...
    [LastUpdatedDate] [datetime] NULL,

    CONSTRAINT [PK__MyTableO__78D4AEA3FD2A1608] 
        PRIMARY KEY CLUSTERED ([TradeBlockId] ASC, [TradeAllocationId] ASC)
)
GO

ALTER TABLE [dbo].[MyTable] 
    ADD CONSTRAINT [DF__MyTableOv__LastU__623C3574]  
        DEFAULT (GETDATE()) FOR [LastUpdatedDate]

虽然我的项目没有指定约束名称

CREATE TABLE [dbo].[MyTable] 
(
    [TradeBlockId]    BIGINT NOT NULL,
    ...
    [LastUpdatedDate] DATETIME DEFAULT (getdate()) NULL,

    PRIMARY KEY CLUSTERED ([TradeBlockId] ASC, [TradeAllocationId] ASC)
);

我希望部署忽略这些名称...但找不到正确的选项

可以吗?

类似“忽略系统生成的名称”

谢谢

sql-server sql-server-data-tools ssdt-2019
1个回答
0
投票

谢谢Martin Smith,答案是我的“显然”系统命名约束不再是system_named。

它们已在某个阶段重新创建,重新使用最初系统生成的默认约束名称。

选择名称,DC.is_system_named 来自 sys.default_constraints DC 名称如 '%[__][0-9A-F][0-9A-F][0-9A-F][0-9A-F]%'

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.