Avanzando con SPIP [3]
La base de datos de spip
Como sabemos SPIP usa una base de datos MySQL para guardar los distintos artículos, secciones, autores, etc. La base de datos tiene una serie de tablas con nombres del tipo spip_articles, spip_auteurs, etc.
Disponemos de información sobre algunos de los campos en los artículos de spip.net:
– La structure de la base de données
– Estructura de la base de datos
El artículo original (en francés) se encuentra desactualizado (y por tanto la traducción), no obstante y aunque no están todos los campos, en los anteriores artículos se explica para qué sirven los principales campos.
Además se puede ver un esquema general de la base de datos en:
– doc.spip.org (observa el fichero pdf).
Si tienes servidor propio, o bien aceso al servidor donde está alojada tu base de datos de spip, puedes consultarla usando sentencias de MySQL o mediante el programa PhpMyAdmin. Para más información mira los artículos: Instalando MySQL y PHPMyAdmin.
Si no recuerdas el nombre de tu base de datos, puedes obtenerlo (además de la contraseña) del fichero: ecrire/inc_connect.php.
Si NO tienes servidor propio o no puedes acceder mediante mysql a tu base de datos, aquí tienes la estructura de la base en una instalación de spip versión 1.91:
En primer lugar veamos las tablas disponibles:
mysql> show tables;
Tables_in_spip191 |
---|
spip_ajax_fonc |
spip_articles |
spip_auteurs |
spip_auteurs_articles |
spip_auteurs_messages |
spip_auteurs_rubriques |
spip_breves |
spip_caches |
spip_documents |
spip_documents_articles |
spip_documents_breves |
spip_documents_rubriques |
spip_forum |
spip_groupes_mots |
spip_index |
spip_index_dico |
spip_messages |
spip_meta |
spip_mots |
spip_mots_articles |
spip_mots_breves |
spip_mots_documents |
spip_mots_forum |
spip_mots_rubriques |
spip_mots_syndic |
spip_ortho_cache |
spip_ortho_dico |
spip_petitions |
spip_recherches |
spip_referers |
spip_referers_articles |
spip_rubriques |
spip_signatures |
spip_syndic |
spip_syndic_articles |
spip_test |
spip_types_documents |
spip_types_tables |
spip_versions |
spip_versions_fragments |
spip_visites |
spip_visites_articles |
42 rows in set (0.00 sec)
Veamos ahora la estructura de algunas de las tablas:
mysql> describe spip_articles;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id_article | bigint(21) | PRI | NULL | auto_increment | |
surtitre | text | ||||
titre | text | ||||
soustitre | text | ||||
id_rubrique | bigint(21) | MUL | 0 | ||
descriptif | text | ||||
chapo | mediumtext | ||||
texte | longblob | ||||
ps | mediumtext | ||||
date | datetime | 0000-00-00 00:00:00 | |||
statut | varchar(10) | MUL | 0 | ||
id_secteur | bigint(21) | MUL | 0 | ||
maj | timestamp(14) | YES | NULL | ||
export | varchar(10) | YES | oui | ||
date_redac | datetime | 0000-00-00 00:00:00 | |||
visites | int(11) | 0 | |||
referers | int(11) | 0 | |||
popularite | double | 0 | |||
accepter_forum | char(3) | ||||
date_modif | datetime | MUL | 0000-00-00 00:00:00 | ||
lang | varchar(10) | MUL | |||
langue_choisie | char(3) | YES | non | ||
id_trad | bigint(21) | MUL | 0 | ||
extra | longblob | YES | NULL | ||
idx | enum(’’,’1’,’non’,’oui’,’idx’) | MUL | |||
id_version | int(10) unsigned | 0 | |||
nom_site | tinytext | ||||
url_site | varchar(255) | MUL | |||
url_propre | varchar(255) | MUL |
29 rows in set (0.00 sec)
mysql> describe spip_auteurs;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id_auteur | bigint(21) | PRI | NULL | auto_increment | |
nom | text | ||||
bio | text | ||||
tinytext | |||||
nom_site | tinytext | ||||
url_site | text | ||||
login | varchar(255) binary | MUL | |||
pass | tinytext | ||||
low_sec | tinytext | ||||
statut | varchar(255) | MUL | |||
maj | timestamp(14) | YES | NULL | ||
pgp | blob | ||||
htpass | tinyblob | ||||
en_ligne | datetime | MUL | 0000-00-00 00:00:00 | ||
imessage | char(3) | ||||
messagerie | char(3) | ||||
alea_actuel | tinytext | ||||
alea_futur | tinytext | ||||
prefs | tinytext | ||||
cookie_oubli | tinytext | ||||
source | varchar(10) | spip | |||
lang | varchar(10) | MUL | |||
idx | enum(’’,’1’,’non’,’oui’,’idx’) | MUL | |||
url_propre | varchar(255) | MUL | |||
extra | longblob | YES | NULL |
25 rows in set (0.00 sec)
mysql> describe spip_breves;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id_breve | bigint(21) | PRI | NULL | auto_increment | |
date_heure | datetime | 0000-00-00 00:00:00 | |||
titre | text | ||||
texte | longblob | ||||
lien_titre | text | ||||
lien_url | text | ||||
statut | varchar(6) | ||||
id_rubrique | bigint(21) | MUL | 0 | ||
lang | varchar(10) | ||||
langue_choisie | char(3) | YES | non | ||
maj | timestamp(14) | YES | NULL | ||
idx | enum(’’,’1’,’non’,’oui’,’idx’) | MUL | |||
extra | longblob | YES | NULL | ||
url_propre | varchar(255) | MUL |
14 rows in set (0.00 sec)
mysql> describe spip_documents;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id_document | bigint(21) | PRI | NULL | auto_increment | |
id_vignette | bigint(21) | MUL | 0 | ||
id_type | bigint(21) | MUL | 0 | ||
titre | text | ||||
date | datetime | 0000-00-00 00:00:00 | |||
descriptif | text | ||||
fichier | varchar(255) | ||||
taille | int(11) | 0 | |||
largeur | int(11) | 0 | |||
hauteur | int(11) | 0 | |||
mode | enum(’vignette’,’document’) | MUL | vignette | ||
distant | char(3) | YES | non | ||
idx | enum(’’,’1’,’non’,’oui’,’idx’) | ||||
maj | timestamp(14) | YES | NULL |
14 rows in set (0.00 sec)
mysql> describe spip_forum;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id_forum | bigint(21) | PRI | NULL | auto_increment | |
id_parent | bigint(21) | MUL | 0 | ||
id_thread | bigint(21) | 0 | |||
id_rubrique | bigint(21) | MUL | 0 | ||
id_article | bigint(21) | MUL | 0 | ||
id_breve | bigint(21) | MUL | 0 | ||
date_heure | datetime | 0000-00-00 00:00:00 | |||
titre | text | ||||
texte | mediumtext | ||||
auteur | text | ||||
email_auteur | text | ||||
nom_site | text | ||||
url_site | text | ||||
statut | varchar(8) | MUL | |||
idx | enum(’’,’1’,’non’,’oui’,’idx’) | MUL | |||
ip | varchar(16) | YES | NULL | ||
maj | timestamp(14) | YES | NULL | ||
id_auteur | bigint(20) | 0 | |||
id_message | bigint(21) | MUL | 0 | ||
id_syndic | bigint(21) | MUL | 0 |
20 rows in set (0.00 sec)
mysql> describe spip_mots;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id_mot | bigint(21) | PRI | NULL | auto_increment | |
titre | text | ||||
descriptif | text | ||||
texte | longblob | ||||
id_groupe | bigint(21) | 0 | |||
type | text | ||||
extra | longblob | YES | NULL | ||
idx | enum(’’,’1’,’non’,’oui’,’idx’) | MUL | |||
url_propre | varchar(255) | MUL | |||
maj | timestamp(14) | YES | NULL |
10 rows in set (0.00 sec)
mysql> describe spip_rubriques;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id_rubrique | bigint(21) | PRI | NULL | auto_increment | |
id_parent | bigint(21) | MUL | 0 | ||
titre | text | ||||
descriptif | text | ||||
texte | longblob | ||||
id_secteur | bigint(21) | 0 | |||
maj | timestamp(14) | YES | NULL | ||
export | varchar(10) | YES | oui | ||
id_import | bigint(20) | YES | 0 | ||
statut | varchar(10) | ||||
date | datetime | 0000-00-00 00:00:00 | |||
lang | varchar(10) | MUL | |||
langue_choisie | char(3) | YES | non | ||
idx | enum(’’,’1’,’non’,’oui’,’idx’) | MUL | |||
extra | longblob | YES | NULL | ||
url_propre | varchar(255) | MUL | |||
statut_tmp | varchar(10) | ||||
date_tmp | datetime | 0000-00-00 00:00:00 |
18 rows in set (0.00 sec)
Existen algunas tablas que se usan como unión entre otras. Por ejemplo la tabla spip_auteurs_articles relaciona autores con artículos
mysql> describe spip_auteurs_articles;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id_auteur | bigint(21) | PRI | 0 | ||
id_article | bigint(21) | PRI | 0 |
2 rows in set (0.00 sec)