2323 ON newtbl .object_id = p .major_id
2424 AND p .minor_id = 0
2525 AND p .class_desc = ' OBJECT_OR_COLUMN'
26- AND p .name = ' tSQLt.FakeTable_OrgTableName '
26+ AND p .name = ' tSQLt.Private_TestDouble_OrgObjectName '
2727 ON OBJECT_NAME (constraints .parent_object_id ) = CAST (p .value AS NVARCHAR (4000 ))
2828 AND constraints .schema_id = newtbl .schema_id
2929 AND constraints .object_id = @ConstraintObjectId;
@@ -70,6 +70,8 @@ CREATE PROCEDURE tSQLt.Private_ApplyCheckConstraint
7070AS
7171BEGIN
7272 DECLARE @Cmd NVARCHAR (MAX );
73+ DECLARE @NewNameOfOriginalConstraint NVARCHAR (MAX );
74+ DECLARE @QuotedFullConstraintName NVARCHAR (MAX );
7375 SELECT @Cmd = ' CONSTRAINT ' + QUOTENAME (name ) + ' CHECK' + definition
7476 FROM sys .check_constraints
7577 WHERE object_id = @ConstraintObjectId;
@@ -78,13 +80,16 @@ BEGIN
7880
7981 SELECT @QuotedTableName = QuotedTableName FROM tSQLt .Private_GetQuotedTableNameForConstraint (@ConstraintObjectId);
8082
81- EXEC tSQLt . Private_RenameObjectToUniqueNameUsingObjectId @ConstraintObjectId;
82- SELECT @Cmd = ' ALTER TABLE ' + @QuotedTableName + ' ADD ' + @Cmd
83+ SELECT @Cmd = ' ALTER TABLE ' + @QuotedTableName + ' ADD ' + @Cmd,
84+ @QuotedFullConstraintName = QUOTENAME ( SCHEMA_NAME ( schema_id )) + ' .' + QUOTENAME ( name )
8385 FROM sys .objects
8486 WHERE object_id = @ConstraintObjectId;
8587
88+ EXEC tSQLt .Private_RenameObjectToUniqueNameUsingObjectId @ConstraintObjectId, @NewName = @NewNameOfOriginalConstraint OUT ;
89+
8690 EXEC (@Cmd);
8791
92+ EXEC tSQLt .Private_MarktSQLtTempObject @ObjectName = @QuotedFullConstraintName, @ObjectType = ' CONSTRAINT' , @NewNameOfOriginalObject = @NewNameOfOriginalConstraint;
8893END ;
8994GO
9095
@@ -101,11 +106,15 @@ BEGIN
101106 DECLARE @AlterTableCmd NVARCHAR (MAX );
102107 DECLARE @CreateIndexCmd NVARCHAR (MAX );
103108 DECLARE @FinalCmd NVARCHAR (MAX );
109+ DECLARE @NewNameOfOriginalConstraint NVARCHAR (MAX );
110+ DECLARE @QuotedFullConstraintName NVARCHAR (MAX );
111+
104112
105113 SELECT @SchemaName = SchemaName,
106114 @OrgTableName = OrgTableName,
107115 @TableName = TableName,
108- @ConstraintName = OBJECT_NAME (@ConstraintObjectId)
116+ @ConstraintName = OBJECT_NAME (@ConstraintObjectId),
117+ @QuotedFullConstraintName = QUOTENAME (SchemaName)+ ' .'+ QUOTENAME (OBJECT_NAME (@ConstraintObjectId))
109118 FROM tSQLt .Private_GetQuotedTableNameForConstraint (@ConstraintObjectId);
110119
111120 SELECT @CreateFkCmd = cmd, @CreateIndexCmd = CreIdxCmd
@@ -114,8 +123,11 @@ BEGIN
114123 ' ADD ' + @CreateFkCmd;
115124 SELECT @FinalCmd = @CreateIndexCmd + @AlterTableCmd;
116125
117- EXEC tSQLt .Private_RenameObjectToUniqueName @SchemaName, @ConstraintName;
126+ EXEC tSQLt .Private_RenameObjectToUniqueName @SchemaName, @ConstraintName, @NewName = @NewNameOfOriginalConstraint OUTPUT ;
118127 EXEC (@FinalCmd);
128+
129+ EXEC tSQLt .Private_MarktSQLtTempObject @ObjectName = @QuotedFullConstraintName, @ObjectType = ' CONSTRAINT' , @NewNameOfOriginalObject = @NewNameOfOriginalConstraint;
130+
119131END ;
120132GO
121133
@@ -124,25 +136,28 @@ CREATE PROCEDURE tSQLt.Private_ApplyUniqueConstraint
124136AS
125137BEGIN
126138 DECLARE @SchemaName NVARCHAR (MAX );
127- DECLARE @OrgTableName NVARCHAR (MAX );
128139 DECLARE @TableName NVARCHAR (MAX );
129140 DECLARE @ConstraintName NVARCHAR (MAX );
130141 DECLARE @CreateConstraintCmd NVARCHAR (MAX );
131142 DECLARE @AlterColumnsCmd NVARCHAR (MAX );
143+ DECLARE @NewNameOfOriginalConstraint NVARCHAR (MAX );
144+ DECLARE @QuotedFullConstraintName NVARCHAR (MAX );
132145
133146 SELECT @SchemaName = SchemaName,
134- @OrgTableName = OrgTableName,
135147 @TableName = TableName,
136- @ConstraintName = OBJECT_NAME (@ConstraintObjectId)
148+ @ConstraintName = OBJECT_NAME (@ConstraintObjectId),
149+ @QuotedFullConstraintName = QUOTENAME (SchemaName)+ ' .'+ QUOTENAME (OBJECT_NAME (@ConstraintObjectId))
137150 FROM tSQLt .Private_GetQuotedTableNameForConstraint (@ConstraintObjectId);
138151
139152 SELECT @AlterColumnsCmd = NotNullColumnCmd,
140153 @CreateConstraintCmd = CreateConstraintCmd
141154 FROM tSQLt .Private_GetUniqueConstraintDefinition (@ConstraintObjectId, QUOTENAME (@SchemaName) + ' .' + QUOTENAME (@TableName));
142155
143- EXEC tSQLt .Private_RenameObjectToUniqueName @SchemaName, @ConstraintName;
156+ EXEC tSQLt .Private_RenameObjectToUniqueName @SchemaName, @ConstraintName, @NewName = @NewNameOfOriginalConstraint OUTPUT ;
144157 EXEC (@AlterColumnsCmd);
145158 EXEC (@CreateConstraintCmd);
159+
160+ EXEC tSQLt .Private_MarktSQLtTempObject @ObjectName = @QuotedFullConstraintName, @ObjectType = ' CONSTRAINT' , @NewNameOfOriginalObject = @NewNameOfOriginalConstraint;
146161END ;
147162GO
148163
0 commit comments