22,31 → 22,30 |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt> |
* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org> |
*/ |
class MigrationOptimisation extends Script { |
class MigrationOptimisation extends CelScript { |
|
public function executer() { |
$cmd = $this->getParametre('a'); |
$this->mode_verbeux = $this->getParametre('v'); |
try { |
$this->initialiserProjet('migration_optimisation'); |
|
switch($cmd) { |
case 'maj': |
$this->migrerBdd(); |
break; |
default: |
echo "Action «$cmd» inconnue.\n"; |
// Lancement de l'action demandée |
$cmd = $this->getParametre('a'); |
switch ($cmd) { |
case 'maj' : |
$script = $this->chargerClasse('MajOptimisation'); |
$script->executer(); |
break; |
default : |
throw new Exception("Erreur : la commande '$cmd' n'existe pas!"); |
} |
} catch (Exception $e) { |
$this->traiterErreur($e->getMessage()); |
} |
} |
|
private function migrerBdd() { |
$contenuSql = FichierUtil::recupererContenu(__DIR__.'/maj_optimisation.sql'); |
$this->executerScripSql($contenuSql); |
private function chargerClasse($classe) { |
require_once $classe.'.php'; |
$conteneur = new Conteneur($this->parametres); |
return new $classe($conteneur); |
} |
|
private function executerScripSql($sql) { |
$requetes = SqlUtil::extraireRequetes($sql); |
foreach ($requetes as $requete) { |
echo "Exécution de la requete : $requete\n"; |
$this->executer($requete); |
} |
} |
} |