Schema del database di un’app SaaS

DiagrammaIngegneria · Progettazione di database SaaSCreato da un solo prompt
Anteprima di sola lettura

Il prompt

Disegna lo schema del database per un’app SaaS

Crea la tua versione

Sul framework

Modella separatamente l’appartenenza all’organizzazione e l’identità dell’utente

USER, ORGANIZATION, MEMBERSHIP, PROJECT e SUBSCRIPTION sono le cinque entità. Membership contiene user_id, org_id e role, permettendo al diagramma di rappresentare il ruolo di un utente all’interno di un’organizzazione. Anche progetti e subscription contengono org_id. Ogni entità ha una chiave primaria UUID.

Le relazioni mostrano utenti e organizzazioni con zero o più membership, organizzazioni con zero o più progetti e una sola subscription per organizzazione. La subscription include stripe_id, status ed expires_at; l’organizzazione ha anche un campo plan. Il campo Stripe è un elemento del modello, non un collegamento di fatturazione funzionante.

Prima dell’implementazione, decidi come gestire gli inviti, le membership duplicate, le organizzazioni gratuite e lo storico delle subscription. Definisci come mantenere coerenti il piano dell’organizzazione e lo stato della subscription, e specifica separatamente le regole di autorizzazione rispetto al diagramma.

Cosa include

Cosa ottieni

  • Cinque entità con chiavi primarie UUID e attributi selezionati
  • Un’entità Membership con campi per utente, organizzazione e ruolo
  • La proprietà dei progetti da parte dell’organizzazione tramite org_id
  • Un’entità subscription con riferimento di fatturazione, stato e scadenza
Diagramma

Schema del database di un’app SaaS

engineeringdatabasesaasschema

✦ Free preview · Sign in to use

Domande frequenti

Domande comuni

Un utente può appartenere a più organizzazioni?

La relazione tracciata tra User e Membership consente più record di membership. Ogni membership collega l’utente a un’organizzazione e ne indica il ruolo.

Lo schema permette a un’organizzazione di non avere alcuna subscription?

L’esempio mostra esattamente una subscription per organizzazione. Modifica la relazione se il tuo modello consente a un’organizzazione di esistere prima della configurazione della fatturazione.

org_id garantisce l’isolamento tra tenant?

Il diagramma rappresenta le relazioni di appartenenza. Non implementa l’autorizzazione né le policy di accesso: queste regole devono essere progettate e applicate nell’applicazione e nel database, secondo necessità.

Schema del database di un’app SaaS

Gratuito per iniziare. Nessuna carta di credito richiesta.

Free preview · Sign in to use