Déclarer la structure des tables

Dans certains cas, particulièrement pour les plugins qui ajoutent des tables dans la base de données, ou des colonnes dans une table, il est nécessaire de déclarer la structure SQL de la table, car c’est à partir de ces déclarations que SPIP construit la requête de création ou de mise à jour des tables.

SPIP tentera alors d’adapter la déclaration au gestionnaire de données utilisé, en convertissant certaines écritures propres à MySQL.

Ainsi, si vous déclarez une table avec "auto-increment" sur la primary key à la façon de SPIP (comme dans ecrire/base/serial.php et ecrire/base/auxiliaires.php en utilisant les pipelines spécifiques declarer_tables_principales et declarer_tables_auxiliaires), SPIP traduira l’écriture « auto-increment » pour qu’elle soit prise en compte lorsqu’on utilise PostGres ou SQLite.

De la même manière, une déclaration de champ "ENUM" spécifique à Mysql sera tout de même fonctionnelle sous PG ou SQLite. L’inverse par contre n’est pas valable (des déclarations spécifiques PostGres ne seront pas comprises par les autres).

Auteur Matthieu Marcillaud Publié le : Mis à jour : 06/04/10

Traductions : English, Español, français