Attualmente sto aggiungendo funzionalità di autorizzazione alla mia app. Sto cercando di decidere quale percorso prendere tra l'implementazione di questa funzionalità con JSONB o tabelle.
Come nota a margine, l'app ha attualmente 7 diversi tipi di permessi e non vedo che la sua crescita aumenti a più di 20.
Implementazione tabelle:
Users:
- id int
- name text
Roles:
- id int
- name text
UserRole:
- user_id
- role_id
Implementazione JSONB:
Users:
- id int
- permission jsonb CHECK (permission ? 'manage_****')
Creerei un vincolo di controllo per ogni chiave nell'oggetto permesso. Quale di queste opzioni sarebbe il modo idiomatico di farlo?