db.md 3.2 KB

Comprendre la DB Typo3

Voici les principales tables sur lesquelles on est amené à intervenir. Toutes les autres tables sont soient rendues inutiles par le fonctionnement spécifiques de l'instance Opentalent (comme sys_domain), ou ne nécessitent quasiment jamais d'intervention manuelles.

Règles générales

Toutes les tables ont pour clé primaire un champs uid.

La majorité des tables définissent un champ pid, pour "parent id". C'est l'uid de l'objet parent, par exemple la page qui le contient pour contenu.

La majorité des tables définissent un champ deleted. Par défaut, le QueryBuilder typo3 ignorera de lui-même les champs dont ce champ est à 1.

La table pages

La table pages contient un enregistrement pour chaque page d'un site. Un champs spécifique Opentalent (ot_website_uid) permet de faire le lien entre une page et son site.

Chaque site est constitué d'une page racine (is_siteroot=1). Ensuite l'arborescence des pages du site est définie par l'intermédiaire du champs pid, le pid d'une page étant l'uid de sa page parente.

Le champs dokType définit le type d'une page (standard, raccourci, dossier...). Une page standard a pour dokType 1.

Le champs slug est responsable du routing à l'intérieur du site.

La table ot_websites

Voir le chapitre dédié

La table tt_content

La table tt_content contient un enregistrement pour chaque contenu d'une page.

Le champs pid correspond à l'uid de la page qui le contient.

Le type de contenu est défini par le champs CType

Le corps du contenu est défini par le champs bodytext

Les tables fe_users et fe_groups

La table fe_users contient un enregistrement pour chaque frontend user.

Ces enregistrements sont générés automatiquement via l'extension OtConnect.

Plus d'info ici

Chaque fe_user peut être affecté à un ou plusieurs fe_group par l'intermédiaire du champs usergroup (plusieurs valeurs possibles en séparant les uids avec une virgule)

Les groupes sont lié à un site par l'intermédiaire du champs pid, qui contient l'uid de la page racine du site auquel le groupe est lié.

La table be_users et be_groups

La table be_users contient un enregistrement pour chaque backend user.

Chaque be_user peut être affecté à un ou plusieurs be_group par l'intermédiaire du champs usergroup (plusieurs valeurs possibles en séparant les uids avec une virgule)

Plus d'infos ici

Les tables sys_file et sys_file_reference

Chaque fichier uploadé depuis le backend a un enregistrement correspondant dans la table sys_file.

C'est ensuite la table sys_file_reference qui fait le lien entre cette table et la table étrangère qui référence ce fichier (pages, tt_content...)

La table ciblée et la clé étrangère sont indiquées par les champs tablenames et uid_foreign de la table sys_file_reference, tandis que l'id du fichier dans sys_file est contenu dans le champs uid_local

Les tables sys_log et ot_log

Les tables sys_log et ot_log contiennent les logs typo3 pour la première, et spécifiques aux extensions Opentalent pour la seconde.