1
0
mirror of https://github.com/bitwarden/server synced 2025-12-21 18:53:41 +00:00
Files
server/util/Migrator/DbScripts/2025-11-13_00_AddCipherArchive.sql
jaasen-livefront a9e845d9bd fix errors
2025-11-13 18:58:50 -08:00

56 lines
1.3 KiB
Transact-SQL

IF OBJECT_ID(N'[dbo].[CipherArchive]', N'U') IS NULL
BEGIN
CREATE TABLE [dbo].[CipherArchive]
(
[CipherId] UNIQUEIDENTIFIER NOT NULL,
[UserId] UNIQUEIDENTIFIER NOT NULL,
[ArchivedDate] DATETIME2(7) NOT NULL,
CONSTRAINT [PK_CipherArchive]
PRIMARY KEY CLUSTERED ([CipherId], [UserId])
);
END;
GO
IF NOT EXISTS (
SELECT 1
FROM sys.foreign_keys
WHERE name = N'FK_CipherArchive_Cipher'
AND parent_object_id = OBJECT_ID(N'[dbo].[CipherArchive]', N'U')
)
BEGIN
ALTER TABLE [dbo].[CipherArchive]
ADD CONSTRAINT [FK_CipherArchive_Cipher]
FOREIGN KEY ([CipherId])
REFERENCES [dbo].[Cipher]([Id])
ON DELETE CASCADE;
END;
GO
IF NOT EXISTS (
SELECT 1
FROM sys.foreign_keys
WHERE name = N'FK_CipherArchive_User'
AND parent_object_id = OBJECT_ID(N'[dbo].[CipherArchive]', N'U')
)
BEGIN
ALTER TABLE [dbo].[CipherArchive]
ADD CONSTRAINT [FK_CipherArchive_User]
FOREIGN KEY ([UserId])
REFERENCES [dbo].[User]([Id])
ON DELETE CASCADE;
END;
GO
IF NOT EXISTS (
SELECT 1
FROM sys.indexes
WHERE name = N'IX_CipherArchive_UserId'
AND object_id = OBJECT_ID(N'[dbo].[CipherArchive]', N'U')
)
BEGIN
CREATE NONCLUSTERED INDEX [IX_CipherArchive_UserId]
ON [dbo].[CipherArchive]([UserId]);
END;
GO