Files
server/util/Migrator/DbScripts/2025-12-20_02_OrganizationUser_MigrateDefaultCollection.sql
2025-12-27 08:41:08 +10:00

26 lines
976 B
Transact-SQL

-- Update OrganizationUser_MigrateDefaultCollection to set DefaultCollectionOwnerId = NULL
-- when migrating default collections to shared collections during OrganizationUser deletion
CREATE OR ALTER PROCEDURE [dbo].[OrganizationUser_MigrateDefaultCollection]
@Ids [dbo].[GuidIdArray] READONLY
AS
BEGIN
SET NOCOUNT ON
DECLARE @UtcNow DATETIME2(7) = GETUTCDATE();
UPDATE c
SET
[DefaultUserCollectionEmail] = CASE WHEN c.[DefaultUserCollectionEmail] IS NULL THEN u.[Email] ELSE c.[DefaultUserCollectionEmail] END,
[RevisionDate] = @UtcNow,
[Type] = 0,
[DefaultCollectionOwnerId] = NULL
FROM
[dbo].[Collection] c
INNER JOIN [dbo].[CollectionUser] cu ON c.[Id] = cu.[CollectionId]
INNER JOIN [dbo].[OrganizationUser] ou ON cu.[OrganizationUserId] = ou.[Id]
INNER JOIN [dbo].[User] u ON ou.[UserId] = u.[Id]
INNER JOIN @Ids i ON ou.[Id] = i.[Id]
WHERE
c.[Type] = 1
END
GO