Columns
| Column | Type | Size | Nulls | Auto | Default | Children | Parents | Comments | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| id | int4 | 10 | √ | null |
|
|
{“what”:“Surrogate key uniquely identifying a membership record.”,“why”:“Without it, a membership cannot be referenced unambiguously for updates or deletion.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:05:04.694099385+00:00”} |
||||
| user_id | int4 | 10 | null |
|
|
{“what”:“Identifier of the user who is a member of the group.”,“why”:“Without it, we cannot know which user belongs to the group.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:05:04.715130735+00:00”} |
|||||
| group_id | int4 | 10 | null |
|
|
{“what”:“Identifier of the group the user belongs to.”,“why”:“Without it, we cannot know which group the user is in.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:05:04.727123730+00:00”} |
|||||
| is_group_manager | bool | 1 | false |
|
|
{“what”:“Boolean flag: true if the user manages the group, false otherwise.”,“why”:“Without it, managers and regular members are indistinguishable, so admin actions cannot be scoped.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:05:04.741312367+00:00”} |
Indexes
| Constraint Name | Type | Sort | Column(s) |
|---|---|---|---|
| permissions_group_membership_pkey | Primary key | Asc | id |
| idx_permissions_group_membership_group_id | Performance | Asc | group_id |
| idx_permissions_group_membership_group_id_user_id | Performance | Asc/Asc | group_id + user_id |
| idx_permissions_group_membership_user_id | Performance | Asc | user_id |
| unique_permissions_group_membership_user_id_group_id | Must be unique | Asc/Asc | user_id + group_id |