Changeset 90831 in spip-zone


Ignore:
Timestamp:
Jul 13, 2015, 3:02:01 PM (4 years ago)
Author:
marcimat@…
Message:

Permettre de transmettre en option le nom de l'export désiré (nom_sauvegarde)
ainsi que les tables souhaitées exclusivement (tables) pour la création d'un dump.

à l'export dump.

Location:
_plugins_/migrateur/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/migrateur/trunk/class/Serveur/Action/DumpDatabase.php

    r88469 r90831  
    1010        /** Doit-on gziper le dump si la commande est disponible sur le serveur ? */
    1111        private $gzip_si_possible = true;
    12        
     12
    1313        /** Doit-on utiliser mysqldump si disponible sur le serveur ? */
    1414        private $mysqldump_si_possible = true;
    1515
     16        /** Nom du fichier de sauvegarde (sans extension) */
     17        private $nom_sauvegarde = 'migrateur';
     18
     19        /** Tables à exporter (toutes si vide) */
     20        private $tables = array();
     21
    1622
    1723        public function run($data = null) {
     
    1925
    2026                if (isset($data['gzip_si_possible'])) {
    21                         $this->gzigzip_si_possible = (bool)$data['gzip_si_possible'];
    22                 }
    23        
     27                        $this->gzip_si_possible = (bool)$data['gzip_si_possible'];
     28                }
     29
    2430                if (isset($data['mysqldump_si_possible'])) {
    2531                        $this->mysqldump_si_possible = (bool)$data['mysqldump_si_possible'];
     32                }
     33
     34                if (isset($data['nom_sauvegarde'])) {
     35                        $this->nom_sauvegarde = $data['nom_sauvegarde'];
     36                }
     37
     38                if (isset($data['tables'])) {
     39                        $this->tables = $data['tables'];
    2640                }
    2741
     
    5973        **/
    6074        private function getBackupPath() {
    61                 $file = 'tmp/dump/migrateur.sql';
     75                $file = 'tmp/dump/' . $this->nom_sauvegarde . '.sql';
    6276                sous_repertoire(_DIR_TMP . 'dump');
    6377                return $this->fichier = $this->source->dir . DIRECTORY_SEPARATOR . $file;
     
    101115
    102116                $this->log("Exécution de mysqldump…");
     117
     118                if ($this->tables) {
     119                        $this->log("Sur tables : " . implode(", ", $this->tables));
     120                }
     121
    103122                $source = $this->source;
    104123
     
    131150                }
    132151
    133                 exec($commande = "$cmd $identifiants {$source->sql->bdd} $compression > $_sauvegarde 2>&1", $output, $err);
     152                $tables = implode(" ", $this->tables);
     153                exec($commande = "$cmd $identifiants {$source->sql->bdd} $tables $compression > $_sauvegarde 2>&1", $output, $err);
    134154                # $this->log($commande);
    135155
     
    151171        private function makePhpDump($sauvegarde) {
    152172                $this->log('makephpdump');
     173                if ($this->tables) {
     174                        $this->log("Sur tables : " . implode(", ", $this->tables));
     175                }
    153176
    154177                $gz = function_exists("gzopen");
     
    163186                        $this->source->sql->req,
    164187                        array(
    165                                 'compress' => $gz ? Mysqldump::GZIP : Mysqldump::NONE
     188                                'compress' => $gz ? Mysqldump::GZIP : Mysqldump::NONE,
     189                                'include-tables' => $this->tables,
    166190                        )
    167191                );
  • _plugins_/migrateur/trunk/paquet.xml

    r90820 r90831  
    22        prefix="migrateur"
    33        categorie="outil"
    4         version="3.0.6"
     4        version="3.0.7"
    55        etat="dev"
    66        compatibilite="[2.1.0;3.1.*]"
  • _plugins_/migrateur/trunk/plugin.xml

    r90820 r90831  
    33        <nom>Migrateur</nom>
    44
    5         <version>3.0.6</version>
     5        <version>3.0.7</version>
    66        <prefix>migrateur</prefix>
    77        <etat>dev</etat>
Note: See TracChangeset for help on using the changeset viewer.