Skip to content

Commit dbc30c4

Browse files
committed
Add sanity checks to migrations
1 parent 788aacf commit dbc30c4

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

sql/2025-09-22_org_membership_roles.sql

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
-- Org membership is now associated with a specific role within the org, this simplifies things,
22
-- makes the data more consistent, no need to rely on triggers, and makes it much easier to display in the UI.
33

4+
5+
-- SANITY CHECK:
6+
-- SELECT org_user.handle, member_user.handle, role.ref
7+
-- FROM orgs org
8+
-- JOIN role_memberships rm ON rm.resource_id = org.resource_id
9+
-- JOIN users member_user ON rm.subject_id = member_user.subject_id
10+
-- JOIN roles role ON role.id = rm.role_id
11+
-- JOIN users org_user ON org.user_id = org_user.id;
12+
13+
-- SELECT org_user.handle, member_user.handle
14+
-- FROM org_members om
15+
-- JOIN users org_user ON om.organization_user_id = org_user.id
16+
-- JOIN users member_user ON om.member_user_id = member_user.id
17+
-- ;
18+
19+
420
ALTER TABLE org_members
521
ADD COLUMN role_id UUID REFERENCES roles(id) NULL;
622

@@ -80,9 +96,24 @@ CREATE OR REPLACE VIEW subject_resource_permissions(subject_id, resource_id, per
8096
JOIN resource_hierarchy rh ON drp.resource_id = rh.parent_resource_id
8197
);
8298

99+
-- -- SANITY CHECK
100+
-- SELECT rm.subject_id, r.ref
101+
-- FROM role_memberships rm
102+
-- JOIN roles r ON rm.role_id = r.id
103+
-- -- JOIN users u ON rm.subject_id = u.subject_id
104+
-- WHERE
105+
-- r.ref::text IN ('org_viewer', 'org_maintainer', 'org_contributor', 'org_admin', 'org_owner', 'org_default');
83106

84107
DELETE FROM role_memberships rm
85108
USING roles r
86109
WHERE
87110
rm.role_id = r.id
88111
AND r.ref::text IN ('org_viewer', 'org_maintainer', 'org_contributor', 'org_admin', 'org_owner', 'org_default');
112+
113+
-- SANITY CHECK
114+
-- SELECT org_user.handle, member_user.handle, role.ref
115+
-- FROM org_members om
116+
-- JOIN users org_user ON om.organization_user_id = org_user.id
117+
-- JOIN users member_user ON om.member_user_id = member_user.id
118+
-- JOIN roles role ON role.id = om.role_id
119+
-- ;

0 commit comments

Comments
 (0)