public function setupRecord() { $param = $this->getInput('param', 1); if (isset($param['post']['migrationoldcms'])) { $configFromServiceLocator = $this->getInput('serviceLocator', 1)->get('config'); $connectionParams = $configFromServiceLocator['doctrine']['connection']['orm_default']['params']; R::setup('mysql:host=' . $connectionParams['host'] . ';dbname=' . $connectionParams['dbname'], $connectionParams['user'], $connectionParams['password']); foreach ($param['post']['migrationoldcms'] as $migrazioneOld) { if (!array_key_exists($migrazioneOld, $this->arrayMap)) { } else { if (!class_exists($this->arrayMap[$migrazioneOld])) { throw new NullException($this->arrayMap[$migrazioneOld] . ' class does not exist'); } /** * @var MigratorAbstract $migrator */ $migrator = new $this->arrayMap[$migrazioneOld]($this->getInput()); $migrator->setRedbeanHelper(new RedbeanHelper()); $migrator->setLogWriter(new LogWriter($this->getInput('entityManager', 1)->getConnection())); $migrator->setUserDetails($this->getInput('userDetails', 1)); $migrator->setForeignKeyChecks(0); $migrator->migrate(); $migrator->setForeignKeyChecks(1); $migrator->log(); $this->setVariable('msgType', 'success'); $this->setVariable('msg', 'Migrazione dati effettuata correttamente'); } } } $this->setTemplate('migrazione/migrazione.phtml'); return $this->getOutput(); }
/** * @param array $q * @return bool */ public function executeMultipleQuery(array $q) { foreach ($q as $query) { R::begin(); try { R::exec($q); R::commit(); return true; } catch (Exception $ex) { R::rollback(); return false; } } return false; }