Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2426 → Rev 2427

/trunk/scripts/modules/migration_optimisation/MigrationOptimisation.php
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);
}
}
}