1
0
mirror of https://github.com/bitwarden/server.git synced 2024-12-27 17:47:37 +01:00
bitwarden-server/util/Migrator/DbScripts/2021-03-26_00_CipherDeletedIndex.sql
Kyle Spearrin 597fa01344
job to delete trashed ciphers nightly (#1243)
* job to delete trashed items nightly

* remove script from migration project file

* admin setting for controlling trash deleting dates
2021-04-02 11:14:21 -04:00

37 lines
731 B
Transact-SQL

IF OBJECT_ID('[dbo].[Cipher_DeleteDeleted]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[Cipher_DeleteDeleted]
END
GO
CREATE PROCEDURE [dbo].[Cipher_DeleteDeleted]
@DeletedDateBefore DATETIME2 (7)
AS
BEGIN
SET NOCOUNT ON
DECLARE @BatchSize INT = 100
WHILE @BatchSize > 0
BEGIN
DELETE TOP(@BatchSize)
FROM
[dbo].[Cipher]
WHERE
[DeletedDate] < @DeletedDateBefore
SET @BatchSize = @@ROWCOUNT
END
END
GO
IF NOT EXISTS (
SELECT * FROM sys.indexes WHERE [Name]='IX_Cipher_DeletedDate'
AND object_id = OBJECT_ID('[dbo].[Cipher]')
)
BEGIN
CREATE NONCLUSTERED INDEX [IX_Cipher_DeletedDate]
ON [dbo].[Cipher]([DeletedDate] ASC)
END
GO