* @author Jean-Pascal MILCENT * @author Aurelien PERONNET * @license GPL v3 * @license CECILL v2 * @copyright 1999-2014 Tela Botanica */ class MajOptimisation { private $conteneur; private $bdd; public function __construct($conteneur) { $this->conteneur = $conteneur; $this->bdd = $this->conteneur->getBdd(); } public function executer() { $fichierSql = '../doc/bdd/2014-09_migration_optimisation/maj_optimisation.sql'; $contenuSql = FichierUtil::recupererContenu($fichierSql); $this->executerScripSql($contenuSql); } private function executerScripSql($sql) { $requetes = SqlUtil::extraireRequetes($sql); $nbreRequetes = count($requetes); foreach ($requetes as $index => $requete) { $num = $index + 1; echo "Exécution de la requete $num/$nbreRequetes :\n $requete\n\n"; $retour = $this->bdd->executer($requete); if ($retour === false) { throw new Exception("Un problème est survenu avec la requête $requete\n"); } } } }