mirror of
https://github.com/bitwarden/server.git
synced 2025-07-01 16:12:49 -05:00
[AC-1682] MySql migrations
This commit is contained in:
@ -1,26 +1,21 @@
|
||||
-- Update existing rows in CollectionUsers
|
||||
UPDATE CollectionUsers AS target
|
||||
INNER JOIN (
|
||||
SELECT C.Id AS CollectionId, T.OrganizationUserId
|
||||
FROM Collection C
|
||||
INNER JOIN OrganizationUser T ON C.OrganizationId = T.OrganizationId
|
||||
WHERE T.AccessAll = 1
|
||||
) AS source
|
||||
ON target.CollectionId = source.CollectionId AND target.OrganizationUserId = source.OrganizationUserId
|
||||
INNER JOIN Collection AS C ON target.CollectionId = C.Id
|
||||
INNER JOIN OrganizationUser AS OU ON C.OrganizationId = OU.OrganizationId
|
||||
SET
|
||||
target.ReadOnly = 0,
|
||||
target.HidePasswords = 0,
|
||||
target.Manage = 0;
|
||||
target.Manage = 0
|
||||
WHERE OU.AccessAll = 1;
|
||||
|
||||
-- Insert new rows into CollectionUsers
|
||||
INSERT INTO CollectionUsers (CollectionId, OrganizationUserId, ReadOnly, HidePasswords, Manage)
|
||||
SELECT source.CollectionId, source.OrganizationUserId, 0, 0, 0
|
||||
FROM (
|
||||
SELECT C.Id AS CollectionId, T.OrganizationUserId
|
||||
FROM Collection C
|
||||
INNER JOIN OrganizationUser T ON C.OrganizationId = T.OrganizationId
|
||||
WHERE T.AccessAll = 1
|
||||
) AS source
|
||||
LEFT JOIN CollectionUsers AS target
|
||||
ON target.CollectionId = source.CollectionId AND target.OrganizationUserId = source.OrganizationUserId
|
||||
WHERE target.CollectionId IS NULL;
|
||||
SELECT C.Id AS CollectionId, OU.Id AS OrganizationUserId, 0, 0, 0
|
||||
FROM Collection AS C
|
||||
INNER JOIN OrganizationUser AS OU ON C.OrganizationId = OU.OrganizationId
|
||||
WHERE OU.AccessAll = 1
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM CollectionUsers AS CU
|
||||
WHERE CU.CollectionId = C.Id AND CU.OrganizationUserId = OU.Id
|
||||
);
|
||||
|
Reference in New Issue
Block a user