Dokumentace
Centrum nápovědyRozhodnutíADR 0003
docs/cs/07-decisions/0003-multi-tenant-single-db.md

ADR 0003 — Multi-tenant jedna databáze

Kontext

OPORA musí podporovat mnoho tenantských organizací se silnou izolací při zachování provozní jednoduchosti a nákladové efektivity. Separátní databáze per tenant zvyšují provozní overhead a komplikují migrace i observability.

Rozhodnutí

Použít jednu Postgres databázi (Supabase) pro všechny tenanty s logickou izolací:

  • Všechna tenant-owned data jsou scoped pomocí organizationId.
  • Guard logika a ownership checky vynucují hranice tenantů.
  • Databázová omezení a indexování podporují konzistentní výkon a bezpečnost.

Důsledky

  • Provozní jednoduchost: jedna primární databáze, konzistentní migrační workflow.
  • Vyžaduje rigorózní vynucování, aby se předešlo cross-tenant regresím.
  • Umožňuje enterprise-ready škálovací vzory (RBAC, subscription gating) bez per-tenant DB komplexity.