protected function _dbUpdates() { $this->_runningUpdates = true; $executed_updates = array(); foreach ($this->repo('DbUpdate')->findAll() as $up) { $executed_updates[] = $up->name; } $updates = (include DB_UPDATES_FILE); $new_updates = false; foreach ($updates as $name => $function) { if (!in_array($name, $executed_updates)) { $new_updates = true; echo "\nApplying db update \"{$name}\":"; echo "\n-------------------------------------------------------------------------------------------------------\n"; if ($function() !== false) { $up = new Entities\DbUpdate(); $up->name = $name; $up->save(); } echo "\n-------------------------------------------------------------------------------------------------------\n\n"; } } if ($new_updates) { $this->_em->flush(); $this->cache->deleteAll(); } $this->_runningUpdates = false; }
protected function _dbUpdates() { $this->disableAccessControl(); $executed_updates = []; foreach ($this->repo('DbUpdate')->findAll() as $up) { $executed_updates[] = $up->name; } $updates = (include DB_UPDATES_FILE); foreach ($this->view->path as $path) { $db_update_file = $path . 'db-updates.php'; if (file_exists($db_update_file)) { $updates += (include $db_update_file); } } $new_updates = false; foreach ($updates as $name => $function) { if (!in_array($name, $executed_updates)) { $new_updates = true; echo "\nApplying db update \"{$name}\":"; echo "\n-------------------------------------------------------------------------------------------------------\n"; try { if ($function() !== false) { $up = new Entities\DbUpdate(); $up->name = $name; $up->save(); } } catch (\Exception $e) { echo "\nERROR " . $e . "\n"; } echo "\n-------------------------------------------------------------------------------------------------------\n\n"; } } if ($new_updates) { $this->_em->flush(); $this->cache->deleteAll(); } $this->enableAccessControl(); }