dump.php
SPIP, Système de publication pour l'internet
Copyright © avec tendresse depuis 2001 Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
Ce programme est un logiciel libre distribué sous licence GNU/GPL.
Table of Contents
Constants
- _VERSION_ARCHIVE = '1.3'
Functions
- base_dump_dir() : string
- Crée un répertoire recevant la sauvegarde de la base de données et retourne son chemin.
- base_lister_toutes_tables() : array<string|int, mixed>
- Lister toutes les tables d'un serveur en excluant eventuellement une liste fournie
- base_prefixe_tables() : string
- Retrouver le prefixe des tables
- base_saisie_tables() : array<string|int, mixed>
- Fabrique la liste a cocher des tables a traiter (copie, delete, sauvegarde)
- lister_tables_noexport() : array<string|int, mixed>
- Lister les tables non exportables par defaut (liste completable par le pipeline lister_tables_noexport
- lister_tables_noimport() : array<string|int, mixed>
- Lister les tables non importables par defaut (liste completable par le pipeline lister_tables_noimport
- lister_tables_noerase() : array<string|int, mixed>
- Lister les tables a ne pas effacer (liste completable par le pipeline lister_tables_noerase
- base_liste_table_for_dump() : array<string|int, mixed>
- construction de la liste des tables pour le dump : toutes les tables principales + toutes les tables auxiliaires hors relations + les tables relations dont les deux tables liees sont dans la liste
- base_vider_tables_destination_copie() : mixed
- Vider les tables de la base de destination pour la copie dans une base
- base_conserver_copieur() : mixed
- Conserver le copieur si besoin
- base_detruire_copieur_si_besoin() : mixed
- Effacement de la bidouille ci-dessus Toutefois si la table des auteurs ne contient plus qu'elle c'est que la copie etait incomplete et on restaure le compte pour garder la connection au site
- base_preparer_table_dest() : array<string|int, mixed>
- Preparer la table dans la base de destination : la droper si elle existe (sauf si auteurs ou meta sur le serveur principal) la creer si necessaire, ou ajouter simplement les champs manquants
- base_copier_tables() : bool
- Copier de base a base
- base_inserer_copie() : mixed
- fonction d'insertion en base lors de la copie de base a base
Constants
_VERSION_ARCHIVE
public
mixed
_VERSION_ARCHIVE
= '1.3'
Functions
base_dump_dir()
Crée un répertoire recevant la sauvegarde de la base de données et retourne son chemin.
base_dump_dir(string $meta) : string
Parameters
- $meta : string
Tags
Return values
stringbase_lister_toutes_tables()
Lister toutes les tables d'un serveur en excluant eventuellement une liste fournie
base_lister_toutes_tables([string $serveur = '' ][, array<string|int, mixed> $tables = [] ][, array<string|int, mixed> $exclude = [] ][, bool $affiche_vrai_prefixe = false ]) : array<string|int, mixed>
Parameters
- $serveur : string = ''
- $tables : array<string|int, mixed> = []
- $exclude : array<string|int, mixed> = []
- $affiche_vrai_prefixe : bool = false
Return values
array<string|int, mixed>base_prefixe_tables()
Retrouver le prefixe des tables
base_prefixe_tables([string $serveur = '' ]) : string
Parameters
- $serveur : string = ''
Return values
stringbase_saisie_tables()
Fabrique la liste a cocher des tables a traiter (copie, delete, sauvegarde)
base_saisie_tables(string $name, array<string|int, mixed> $tables[, array<string|int, mixed> $exclude = [] ][, array<string|int, mixed>|null $post = null ][, string $serveur = '' ]) : array<string|int, mixed>
Parameters
- $name : string
- $tables : array<string|int, mixed>
- $exclude : array<string|int, mixed> = []
- $post : array<string|int, mixed>|null = null
- $serveur : string = ''
Return values
array<string|int, mixed>lister_tables_noexport()
Lister les tables non exportables par defaut (liste completable par le pipeline lister_tables_noexport
lister_tables_noexport() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>lister_tables_noimport()
Lister les tables non importables par defaut (liste completable par le pipeline lister_tables_noimport
lister_tables_noimport() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>lister_tables_noerase()
Lister les tables a ne pas effacer (liste completable par le pipeline lister_tables_noerase
lister_tables_noerase() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>base_liste_table_for_dump()
construction de la liste des tables pour le dump : toutes les tables principales + toutes les tables auxiliaires hors relations + les tables relations dont les deux tables liees sont dans la liste
base_liste_table_for_dump([array<string|int, mixed> $exclude_tables = [] ]) : array<string|int, mixed>
Parameters
- $exclude_tables : array<string|int, mixed> = []
Return values
array<string|int, mixed>base_vider_tables_destination_copie()
Vider les tables de la base de destination pour la copie dans une base
base_vider_tables_destination_copie(array<string|int, mixed> $tables[, array<string|int, mixed> $exclure_tables = [] ][, string $serveur = '' ]) : mixed
peut etre utilise pour l'import depuis xml, ou la copie de base a base (mysql<->sqlite par exemple)
Parameters
- $tables : array<string|int, mixed>
- $exclure_tables : array<string|int, mixed> = []
- $serveur : string = ''
base_conserver_copieur()
Conserver le copieur si besoin
base_conserver_copieur([bool $move = true ][, string $serveur = '' ]) : mixed
Parameters
- $move : bool = true
- $serveur : string = ''
base_detruire_copieur_si_besoin()
Effacement de la bidouille ci-dessus Toutefois si la table des auteurs ne contient plus qu'elle c'est que la copie etait incomplete et on restaure le compte pour garder la connection au site
base_detruire_copieur_si_besoin([string $serveur = '' ]) : mixed
(mais il doit pas etre bien beau et ca ne marche que si l'id_auteur est sur moins de 3 chiffres)
Parameters
- $serveur : string = ''
base_preparer_table_dest()
Preparer la table dans la base de destination : la droper si elle existe (sauf si auteurs ou meta sur le serveur principal) la creer si necessaire, ou ajouter simplement les champs manquants
base_preparer_table_dest(string $table, array<string|int, mixed> $desc, string $serveur_dest[, bool $init = false ]) : array<string|int, mixed>
Parameters
- $table : string
- $desc : array<string|int, mixed>
- $serveur_dest : string
- $init : bool = false
Return values
array<string|int, mixed>base_copier_tables()
Copier de base a base
base_copier_tables(string $status_file, array<string|int, mixed> $tables, string $serveur_source, string $serveur_dest[, array<string|int, mixed> $options = [] ]) : bool
Parameters
- $status_file : string
-
nom avec chemin complet du fichier ou est stocke le status courant
- $tables : array<string|int, mixed>
-
liste des tables a copier
- $serveur_source : string
- $serveur_dest : string
- $options : array<string|int, mixed> = []
-
parametres optionnels sous forme de tableau : param string $callback_progression fonction a appeler pour afficher la progression, avec les arguments (compteur,total,table) param int $max_time limite de temps au dela de laquelle sortir de la fonction proprement (de la forme time()+15) param bool $drop_source vider les tables sources apres copie param array $no_erase_dest liste des tables a ne pas vider systematiquement (ne seront videes que si existent dans la base source) param array $where liste optionnelle de condition where de selection des donnees pour chaque table param string $racine_fonctions_dest racine utilisee pour charger_fonction() des operations elementaires sur la base de destination. Permet de deleguer vers une autre voie de communication. Par defaut on utilise 'base', ce qui route vers les fonctions de ce fichier. Concerne :
- vider_tables_destination_copie
- preparer_table_dest
- detruire_copieur_si_besoin
- inserer_copie param array $fonction_base_inserer fonction d'insertion en base. Par defaut "inserer_copie" qui fait un insertq a l'identique. Attention, la fonction appelee est prefixee par $racine_fonctions_dest via un charger_fonction() Peut etre personalisee pour filtrer, renumeroter.... param array $desc_tables_dest description des tables de destination a utiliser de preference a la description de la table source param int data_pool nombre de ko de donnees a envoyer d'un coup en insertion dans la table cible (par defaut 1) permet des envois groupes pour plus de rapidite, notamment si l'insertion est distante
Return values
boolbase_inserer_copie()
fonction d'insertion en base lors de la copie de base a base
base_inserer_copie(string $table, array<string|int, mixed> $rows, array<string|int, mixed> $desc_dest, string $serveur_dest) : mixed
Parameters
- $table : string
- $rows : array<string|int, mixed>
- $desc_dest : array<string|int, mixed>
- $serveur_dest : string