Avanzando con SPIP [3]

La base de datos de spip

, por dani

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_articlebigint(21)PRINULLauto_increment
surtitretext
titretext
soustitretext
id_rubriquebigint(21)MUL0
descriptiftext
chapomediumtext
textelongblob
psmediumtext
datedatetime0000-00-00 00:00:00
statutvarchar(10)MUL0
id_secteurbigint(21)MUL0
majtimestamp(14)YESNULL
exportvarchar(10)YESoui
date_redacdatetime0000-00-00 00:00:00
visitesint(11)0
referersint(11)0
popularitedouble0
accepter_forumchar(3)
date_modifdatetimeMUL0000-00-00 00:00:00
langvarchar(10)MUL
langue_choisiechar(3)YESnon
id_tradbigint(21)MUL0
extralongblobYESNULL
idxenum(’’,’1’,’non’,’oui’,’idx’)MUL
id_versionint(10) unsigned0
nom_sitetinytext
url_sitevarchar(255)MUL
url_proprevarchar(255)MUL

29 rows in set (0.00 sec)

mysql> describe spip_auteurs;

Field Type Null Key Default Extra
id_auteurbigint(21)PRINULLauto_increment
nomtext
biotext
emailtinytext
nom_sitetinytext
url_sitetext
loginvarchar(255) binaryMUL
passtinytext
low_sectinytext
statutvarchar(255)MUL
majtimestamp(14)YESNULL
pgpblob
htpasstinyblob
en_lignedatetimeMUL0000-00-00 00:00:00
imessagechar(3)
messageriechar(3)
alea_actueltinytext
alea_futurtinytext
prefstinytext
cookie_oublitinytext
sourcevarchar(10)spip
langvarchar(10)MUL
idxenum(’’,’1’,’non’,’oui’,’idx’)MUL
url_proprevarchar(255)MUL
extralongblobYESNULL

25 rows in set (0.00 sec)

mysql> describe spip_breves;

Field Type Null Key Default Extra
id_brevebigint(21)PRINULLauto_increment
date_heuredatetime0000-00-00 00:00:00
titretext
textelongblob
lien_titretext
lien_urltext
statutvarchar(6)
id_rubriquebigint(21)MUL0
langvarchar(10)
langue_choisiechar(3)YESnon
majtimestamp(14)YESNULL
idxenum(’’,’1’,’non’,’oui’,’idx’)MUL
extralongblobYESNULL
url_proprevarchar(255)MUL

14 rows in set (0.00 sec)

mysql> describe spip_documents;

Field Type Null Key Default Extra
id_documentbigint(21)PRINULLauto_increment
id_vignettebigint(21)MUL0
id_typebigint(21)MUL0
titretext
datedatetime0000-00-00 00:00:00
descriptiftext
fichiervarchar(255)
tailleint(11)0
largeurint(11)0
hauteurint(11)0
modeenum(’vignette’,’document’)MULvignette
distantchar(3)YESnon
idxenum(’’,’1’,’non’,’oui’,’idx’)
majtimestamp(14)YESNULL

14 rows in set (0.00 sec)

mysql> describe spip_forum;

Field Type Null Key Default Extra
id_forumbigint(21)PRINULLauto_increment
id_parentbigint(21)MUL0
id_threadbigint(21)0
id_rubriquebigint(21)MUL0
id_articlebigint(21)MUL0
id_brevebigint(21)MUL0
date_heuredatetime0000-00-00 00:00:00
titretext
textemediumtext
auteurtext
email_auteurtext
nom_sitetext
url_sitetext
statutvarchar(8)MUL
idxenum(’’,’1’,’non’,’oui’,’idx’)MUL
ipvarchar(16)YESNULL
majtimestamp(14)YESNULL
id_auteurbigint(20)0
id_messagebigint(21)MUL0
id_syndicbigint(21)MUL0

20 rows in set (0.00 sec)

mysql> describe spip_mots;

Field Type Null Key Default Extra
id_motbigint(21)PRINULLauto_increment
titretext
descriptiftext
textelongblob
id_groupebigint(21)0
typetext
extralongblobYESNULL
idxenum(’’,’1’,’non’,’oui’,’idx’)MUL
url_proprevarchar(255)MUL
majtimestamp(14)YESNULL

10 rows in set (0.00 sec)

mysql> describe spip_rubriques;

Field Type Null Key Default Extra
id_rubriquebigint(21)PRINULLauto_increment
id_parentbigint(21)MUL0
titretext
descriptiftext
textelongblob
id_secteurbigint(21)0
majtimestamp(14)YESNULL
exportvarchar(10)YESoui
id_importbigint(20)YES0
statutvarchar(10)
datedatetime0000-00-00 00:00:00
langvarchar(10)MUL
langue_choisiechar(3)YESnon
idxenum(’’,’1’,’non’,’oui’,’idx’)MUL
extralongblobYESNULL
url_proprevarchar(255)MUL
statut_tmpvarchar(10)
date_tmpdatetime0000-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_auteurbigint(21)PRI0
id_articlebigint(21)PRI0

2 rows in set (0.00 sec)