mirror of
https://github.com/bitwarden/server
synced 2025-12-15 15:53:59 +00:00
* optimize security task ReadByUserIdStatus * fix AccessibleCiphers query * fix error * add migrator file * fix migration * update sproc * mirror sprocs * revert change to sproc * add indexes. update filename. add GO statement * move index declarations to appropriate files * add missing GO statement * select view. add existance checks for index * update indexes * revert changes * rename file * update security task * update sproc * update script file * bump migration date * add filtered index. update statistics, update description with perf metics * rename file * reordering * remove update statistics * remove update statistics * add missing index * fix sproc * update timestamp * improve sproc with de-dupe and views * fix syntax error * add missing inner join * sync up index * fix indentation * update file timestamp * remove unnecessary indexes. update sql to match guidelines. * add comment for status * add comment for status
45 lines
2.1 KiB
Transact-SQL
45 lines
2.1 KiB
Transact-SQL
CREATE TABLE [dbo].[OrganizationUser] (
|
|
[Id] UNIQUEIDENTIFIER NOT NULL,
|
|
[OrganizationId] UNIQUEIDENTIFIER NOT NULL,
|
|
[UserId] UNIQUEIDENTIFIER NULL,
|
|
[Email] NVARCHAR (256) NULL,
|
|
[Key] VARCHAR (MAX) NULL,
|
|
[ResetPasswordKey] VARCHAR (MAX) NULL,
|
|
[Status] SMALLINT NOT NULL,
|
|
[Type] TINYINT NOT NULL,
|
|
[ExternalId] NVARCHAR (300) NULL,
|
|
[CreationDate] DATETIME2 (7) NOT NULL,
|
|
[RevisionDate] DATETIME2 (7) NOT NULL,
|
|
[Permissions] NVARCHAR (MAX) NULL,
|
|
[AccessSecretsManager] BIT NOT NULL CONSTRAINT [DF_OrganizationUser_SecretsManager] DEFAULT (0),
|
|
CONSTRAINT [PK_OrganizationUser] PRIMARY KEY CLUSTERED ([Id] ASC),
|
|
CONSTRAINT [FK_OrganizationUser_Organization] FOREIGN KEY ([OrganizationId]) REFERENCES [dbo].[Organization] ([Id]) ON DELETE CASCADE,
|
|
CONSTRAINT [FK_OrganizationUser_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id])
|
|
);
|
|
|
|
GO
|
|
CREATE NONCLUSTERED INDEX [IX_OrganizationUser_UserIdOrganizationIdStatusV2]
|
|
ON [dbo].[OrganizationUser]([UserId] ASC, [OrganizationId] ASC, [Status] ASC);
|
|
GO
|
|
|
|
CREATE NONCLUSTERED INDEX [IX_OrganizationUser_OrganizationId]
|
|
ON [dbo].[OrganizationUser]([OrganizationId] ASC);
|
|
GO
|
|
|
|
CREATE NONCLUSTERED INDEX IX_OrganizationUser_EmailOrganizationIdStatus
|
|
ON OrganizationUser (Email ASC, OrganizationId ASC, [Status] ASC);
|
|
GO
|
|
|
|
CREATE NONCLUSTERED INDEX [IX_OrganizationUser_OrganizationId_UserId]
|
|
ON [dbo].[OrganizationUser] ([OrganizationId], [UserId])
|
|
INCLUDE ([Email], [Status], [Type], [ExternalId], [CreationDate],
|
|
[RevisionDate], [Permissions], [ResetPasswordKey], [AccessSecretsManager]);
|
|
GO
|
|
|
|
CREATE NONCLUSTERED INDEX [IX_OrganizationUser_UserId_Status_Filtered]
|
|
ON [dbo].[OrganizationUser] ([UserId])
|
|
INCLUDE ([Id], [OrganizationId])
|
|
WHERE [Status] = 2; -- Confirmed
|
|
|
|
GO
|