Sur un projet SaS (Software as a Service), imaginez ce scénario:
La table principale pour les clients, ceux qui utilisent l'application, est locataire et la key primaire est l' identifiant de la colonne.
J'ai 3 tables pour gérer datatables des locataires et une table spécifique pour gérer une fonctionnalité des posts vacants :
Période , Unity et Shift tous ceux avec PK et FK .
Ma table vacance a 3 foreign keys
Je dois garantir que tous ces 3 FK font reference aux lignes des tables Period, Unity et Shift qui appartiennent au même client sur la table des locataires.
J'étais clair dans mon explication?
Peut-être que je peux créer un triggersur pour gérer ces validations. Je ne sais vraiment pas si SGBD a déjà des ressources à faire avec ça.
Pour information: J'utilise SQL Server avec ORM Eloquent. Mais, si vraiment existe une solution pour cela, le meilleur serait celui qui travaille partout.
1) Assurez-vous que votre tenant_id
est défini comme NOT NULL
sur les tables Period
, Unity
et Shift
.
2) Créez les keys uniques suivantes sur ces tables:
3) Définir la colonne tenant_id
pour l' tenant_id
de table comme NOT NULL
.
4) Définir les FKs suivants sur la vacancy
table:
De cette façon, vous pouvez garantir que chaque ligne liée a le même tenant_id
.