Objet de type contrainte

Le format des objets de type contrainte change en fonction du type de contrainte que l'objet décrit.

Le type de la contrainte est défini par la propriété type:primary pour une clef primaire, foreign pour une clef étrangère,unique pour une contrainte d'unicité, check pour une contrainte de vérification.


Clef primaire

Le format du type d'objet décrivant une clef primaire est le suivant :

{ "type : "primary", "target" : {Array} }

Paramètres

type
Type de la contrainte.
target
Tableau d'objets de type colonne. Ce tableau liste l'ensemble des colonnes cibles de la clef primaire.

Clef étrangère

Le format du type d'objet décrivant une clef étrangère est le suivant :

{ "type" : "foreign", "from" : {Array}, "schema" : {String}, "table" : {String}, "column" : {Array}, "variable" : {Array} }

Paramètres

type
Type de la contrainte.
from
Tableau d'objets de type colonne. Ce tableau liste l'ensemble des colonnes sources de la clef étrangère. Toutes les colonnes doivent être de la même table.
schema
Nom du schéma parent de la table dans laquelle les colonnes cibles sont définies.
table
Nom de la table parente dans laquelle les colonnes cibles sont définies.
column
Tableau d'objets de type colonne. Ce tableau liste l'ensemble des colonnes cibles de la clef étrangère.
variable
Si les colonnes cibles sont dans une variance, tableau décrivant le chemin jusqu'à la table parente de ces colonnes. Chaque case doit être formatée sous la forme :{ "schema" : {String}, "table" : {String}, "column" : {String} }
schema
Nom du schéma de la variance cible.
table
Nom de la table de la variance cible.
column
Nom de la colonne base de la variance cible.

Contrainte d'unicité

Le format du type d'objet décrivant une contrainte d'unicité est le suivant :

{ "type" : "unique", "target" : {Array} }

Paramètres

type
Type de la contrainte.
target
Tableau d'objets de type colonne. Ce tableau liste l'ensemble des colonnes cibles de la contrainte d'unicité.

Contrainte de vérification (check)

Le format du type d'objet décrivant une contrainte de vérification est le suivant :

{ "type" : "check", "code" : {String} }

Paramètres

type
Type de la contrainte.
code
Code SQL brut de la contrainte de vérification.