Subversion Repositories eFlore/Applications.cel

Compare Revisions

Problem with comparison.

Ignore whitespace Rev HEAD → Rev 2418

/trunk/scripts/modules/migration_optimisation/MigrationOptimisation.php
New file
0,0 → 1,52
<?php
// declare(encoding='UTF-8');
/**
* Mise à jour de la base de données afin de l'optimiser :
* - remplacement du champ "eflore_publiable" de la table "cel_images" par un champ "transmission" (correspondant au champ tansmission des obs)
* - ajout du champ "date_liaison" dans la table "cel_images"
* - ajout du champ "ce_observation" dans la table "cel_images"
* - migration des données de la table cel_obs_images dans cel_images
* - création d'un index sur cel_images.ce_observation
* - suppression de la table cel_obs_images
*
* Utilisation :
* - mise à jour de la bdd : <code>/opt/lamp/bin/php cli.php migration_optimisation -a migrer</code>
*
* @category CEL
* @package Scripts
* @subpackage Migration : Optimisation
* @author Mathias CHOUET <mathias@tela-botanica.org>
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @author Aurelien PERONNET <aurelien@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @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 {
 
public function executer() {
$cmd = $this->getParametre('a');
$this->mode_verbeux = $this->getParametre('v');
 
switch($cmd) {
case 'maj':
$this->migrerBdd();
break;
default:
echo "Action «$cmd» inconnue.\n";
}
}
 
private function migrerBdd() {
$contenuSql = FichierUtil::recupererContenu(__DIR__.'/maj_optimisation.sql');
$this->executerScripSql($contenuSql);
}
 
private function executerScripSql($sql) {
$requetes = SqlUtil::extraireRequetes($sql);
foreach ($requetes as $requete) {
echo "Exécution de la requete : $requete\n";
$this->executer($requete);
}
}
}