mirror of
https://github.com/bitwarden/server
synced 2026-01-06 02:23:51 +00:00
new database schema for ciphers and history. dropped old site and folder tables.
This commit is contained in:
61
src/Sql/dbo/Tables/Cipher.sql
Normal file
61
src/Sql/dbo/Tables/Cipher.sql
Normal file
@@ -0,0 +1,61 @@
|
||||
CREATE TABLE [dbo].[Cipher] (
|
||||
[Id] UNIQUEIDENTIFIER NOT NULL,
|
||||
[UserId] UNIQUEIDENTIFIER NOT NULL,
|
||||
[FolderId] UNIQUEIDENTIFIER NULL,
|
||||
[Type] TINYINT NOT NULL,
|
||||
[Data] NVARCHAR (MAX) NOT NULL,
|
||||
[CreationDate] DATETIME2 (7) NOT NULL,
|
||||
[RevisionDate] DATETIME2 (7) NOT NULL,
|
||||
CONSTRAINT [PK_Cipher] PRIMARY KEY CLUSTERED ([Id] ASC),
|
||||
CONSTRAINT [FK_Cipher_Folder] FOREIGN KEY ([FolderId]) REFERENCES [dbo].[Cipher] ([Id]),
|
||||
CONSTRAINT [FK_Cipher_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id])
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [IX_Cipher_UserId]
|
||||
ON [dbo].[Cipher]([UserId] ASC);
|
||||
|
||||
|
||||
GO
|
||||
CREATE TRIGGER [dbo].[Cipher_Inserted]
|
||||
ON [dbo].[Cipher] AFTER INSERT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE @UserId UNIQUEIDENTIFIER = (SELECT [UserId] FROM INSERTED)
|
||||
DECLARE @CipherId UNIQUEIDENTIFIER = (SELECT [Id] FROM INSERTED)
|
||||
DECLARE @Date DATETIME2(7) = (SELECT [CreationDate] FROM INSERTED)
|
||||
|
||||
EXEC [dbo].[History_Create] @UserId, @CipherId, 0 /* Insert */, @Date
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
CREATE TRIGGER [dbo].[Cipher_Updated]
|
||||
ON [dbo].[Cipher] AFTER UPDATE
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE @UserId UNIQUEIDENTIFIER = (SELECT [UserId] FROM INSERTED)
|
||||
DECLARE @CipherId UNIQUEIDENTIFIER = (SELECT [Id] FROM INSERTED)
|
||||
DECLARE @Date DATETIME2(7) = (SELECT [RevisionDate] FROM INSERTED)
|
||||
|
||||
EXEC [dbo].[History_Create] @UserId, @CipherId, 1 /* Update */, @Date
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
CREATE TRIGGER [dbo].[Cipher_Deleted]
|
||||
ON [dbo].[Cipher] AFTER DELETE
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE @UserId UNIQUEIDENTIFIER = (SELECT [UserId] FROM DELETED)
|
||||
DECLARE @CipherId UNIQUEIDENTIFIER = (SELECT [Id] FROM DELETED)
|
||||
|
||||
EXEC [dbo].[History_Create] @UserId, @CipherId, 2 /* Delete */, GETUTCDATE
|
||||
END
|
||||
@@ -1,15 +0,0 @@
|
||||
CREATE TABLE [dbo].[Folder] (
|
||||
[Id] UNIQUEIDENTIFIER NOT NULL,
|
||||
[UserId] UNIQUEIDENTIFIER NOT NULL,
|
||||
[Name] NVARCHAR (MAX) NOT NULL,
|
||||
[CreationDate] DATETIME2 (7) NOT NULL,
|
||||
[RevisionDate] DATETIME2 (7) NOT NULL,
|
||||
CONSTRAINT [PK_Folder] PRIMARY KEY CLUSTERED ([Id] ASC),
|
||||
CONSTRAINT [FK_Folder_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id])
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [IX_Folder_UserId]
|
||||
ON [dbo].[Folder]([UserId] ASC);
|
||||
|
||||
11
src/Sql/dbo/Tables/History.sql
Normal file
11
src/Sql/dbo/Tables/History.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
CREATE TABLE [dbo].[History] (
|
||||
[Id] BIGINT IDENTITY (1, 1) NOT NULL,
|
||||
[UserId] UNIQUEIDENTIFIER NOT NULL,
|
||||
[CipherId] UNIQUEIDENTIFIER NOT NULL,
|
||||
[Event] TINYINT NOT NULL,
|
||||
[Date] DATETIME2 (7) NOT NULL,
|
||||
CONSTRAINT [PK_CipherHistory] PRIMARY KEY CLUSTERED ([Id] ASC),
|
||||
CONSTRAINT [FK_CipherHistory_Cipher] FOREIGN KEY ([CipherId]) REFERENCES [dbo].[Cipher] ([Id]),
|
||||
CONSTRAINT [FK_CipherHistory_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id])
|
||||
);
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
CREATE TABLE [dbo].[Site] (
|
||||
[Id] UNIQUEIDENTIFIER NOT NULL,
|
||||
[UserId] UNIQUEIDENTIFIER NOT NULL,
|
||||
[FolderId] UNIQUEIDENTIFIER NULL,
|
||||
[Name] NVARCHAR (MAX) NOT NULL,
|
||||
[Uri] NVARCHAR (MAX) NULL,
|
||||
[Username] NVARCHAR (MAX) NULL,
|
||||
[Password] NVARCHAR (MAX) NULL,
|
||||
[Notes] NVARCHAR (MAX) NULL,
|
||||
[CreationDate] DATETIME2 (7) NOT NULL,
|
||||
[RevisionDate] DATETIME2 (7) NOT NULL,
|
||||
CONSTRAINT [PK_Site] PRIMARY KEY CLUSTERED ([Id] ASC),
|
||||
CONSTRAINT [FK_Site_Folder] FOREIGN KEY ([FolderId]) REFERENCES [dbo].[Folder] ([Id]),
|
||||
CONSTRAINT [FK_Site_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id])
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [IX_Site_UserId]
|
||||
ON [dbo].[Site]([UserId] ASC);
|
||||
|
||||
Reference in New Issue
Block a user