Skip to content
DBML templates

DBML — SaaS multi-tenant schema

Tenants, users, subscriptions, audit log.

Template previewDBML
users.tenant_id > tenants.idsubscriptions.tenant_id > tenants.idaudit_log.tenant_id > tenants.idaudit_log.actor_id > users.idtenantsiduuidslugvarcharplanvarcharcreated_attimestampusersiduuidtenant_iduuidemailvarcharrolevarcharsubscriptionsiduuidtenant_iduuidstatusvarcharcurrent_period_endtimestampaudit_logidbiginttenant_iduuidactor_iduuidactionvarcharattimestamp

Make it your own.

Table tenants {
  id uuid [pk]
  slug varchar [unique]
  plan varchar
  created_at timestamp
}
Table users {
  id uuid [pk]
  tenant_id uuid [ref: > tenants.id]
  email varchar
  role varchar
}
Table subscriptions {
  id uuid [pk]
  tenant_id uuid [ref: > tenants.id]
  status varchar
  current_period_end timestamp
}
Table audit_log {
  id bigint [pk, increment]
  tenant_id uuid [ref: > tenants.id]
  actor_id uuid [ref: > users.id]
  action varchar
  at timestamp
}