You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
13 lines
1.1 KiB
13 lines
1.1 KiB
-- Recreate the column and repopulate it from the role/permission model that replaced it, restoring
|
|
-- the invariant the immediately preceding schema relies on: access_all == access to every collection.
|
|
-- That is exactly Owners/Admins, plus Custom members holding `edit_any_collection`.
|
|
--
|
|
-- NOTE: this only holds for reverting *this* migration. Reverting further down the chain,
|
|
-- 2026-07-16 deliberately recomputes access_all as (create AND edit AND delete) for Custom members,
|
|
-- because in that older schema access_all also meant the legacy Manager "Manage all collections"
|
|
-- authority -- so a member who only held `edit_any_collection` comes out as a Manager *without*
|
|
-- access_all rather than silently gaining collection deletion. That is intentional and fail-closed;
|
|
-- the full rollback is blocked by 2026-07-24-140000/down.sql anyway.
|
|
ALTER TABLE users_organizations ADD COLUMN access_all BOOLEAN NOT NULL DEFAULT FALSE;
|
|
UPDATE users_organizations SET access_all = TRUE WHERE atype IN (0, 1);
|
|
UPDATE users_organizations SET access_all = TRUE WHERE atype = 4 AND edit_any_collection = TRUE;
|
|
|