/** * Migrations Action */ public function migrationsAction() { $config = $this->_store->config->production->resources->db; $db = Zend_Db::factory($config); Zend_Db_Table_Abstract::setDefaultAdapter($db); $options = array('projectDirectoryPath' => APPLICATION_PATH . '/..', 'modulesDirectoryPath' => APPLICATION_PATH . '/modules'); $manager = new Core_Migration_Manager($options); $manager->up(); $pathToModules = APPLICATION_PATH . '/modules/'; foreach ($this->_store->modules as $module => $value) { //up installed modules migrations if ($value === false) { $pathToModule = $pathToModules . $module; if (is_dir($pathToModules) && is_writable($pathToModules) && is_dir($pathToModule)) { rename($pathToModule, APPLICATION_PATH . '/modules/.' . $module); } } else { $manager->up($module); if ($module === 'menu') { $this->_store->config->production->resources->navigation->source->default = 'db'; } } } unset($this->_store->modules); $usersTable = new Users_Model_User_Table(); //update or create admin if (!$usersTable->update($this->_store->user, 'login = "******"')) { $usersTable->insert($this->_store->user); } unset($this->_store->user); $this->_helper->flashMessenger('Migrations rolled up'); $this->_store->progress['install-index-migrations'] = true; $this->_helper->redirector('index'); $this->view->currentPage = 'install-index-migrations'; }