Entity membership
A user's role within a tenant.
Subject areas: Auth
Attributes
| # | Name | Type | Null | Default | Key | Terms | Description |
| 1 | tenant_id | domain tenant_ref (bigint) | yes | | PK, FK | | |
| 2 | user_id | bigint | no | | PK, FK | | |
| 3 | role | text(20) | no | "member" | | | |
Keys
| Kind | Name | Attributes |
| primary | pk_membership | tenant_id, user_id |
Relationships
| Name | Role | Other entity | Cardinality | Attributes | Identifying | On delete | On update |
| membership_tenant | child | tenant | one to many | membership.tenant_id -> tenant.id | yes | cascade | no_action |
| membership_user | child | user | one to many | membership.user_id -> user.id | yes | cascade | no_action |
Physical
lite (sqlite): main.membership
| # | Name | Type | Null | Default | Identity | Collation | Attribute | Comment |
| 1 | tenant_id | integer | no | | | | tenant_id | |
| 2 | user_id | integer | no | | | | user_id | |
| 3 | role | text | no | "member" | | | role | |
- primary key pk_membership (tenant_id, user_id)
- foreign key fk_membership_tenant (tenant_id) references tenant (id) on delete cascade
- foreign key fk_membership_user (user_id) references user (id) on delete cascade
- index ix_membership_user (user_id)
pg (postgresql): app.membership
| # | Name | Type | Null | Default | Identity | Collation | Attribute | Comment |
| 1 | tenant_id | bigint | no | | | | tenant_id | |
| 2 | user_id | bigint | no | | | | user_id | |
| 3 | role | varchar(20) | no | "member" | | | role | |
- primary key pk_membership (tenant_id, user_id)
- foreign key fk_membership_tenant (tenant_id) references tenant (id) on delete cascade
- foreign key fk_membership_user (user_id) references user (id) on delete cascade
- index ix_membership_user (user_id)