P&P Project & Deployment Guide v2.0

Référence — PostgreSQL, RLS & migrations

Règles de données multi-tenant et migrations compatibles rollback.

RéférenceRLS

Rôles

pnp_migrator = DDL / propriétaire des objets pnp_app = runtime DML, pas propriétaire, pas BYPASSRLS

RLS

ALTER TABLE members ENABLE ROW LEVEL SECURITY;
ALTER TABLE members FORCE ROW LEVEL SECURITY;
CREATE POLICY tenant_isolation ON members
  USING (club_id = current_setting('app.current_club_id', true)::int)
  WITH CHECK (club_id = current_setting('app.current_club_id', true)::int);

Migrations expand / contract

  1. Expand : ajouter le nouveau schéma sans supprimer l’ancien.
  2. Déployer une version compatible avec ancien + nouveau.
  3. Backfill et vérification.
  4. Contract : dans une release ultérieure, supprimer l’ancien seulement quand le rollback vers la version précédente n’en dépend plus.