/** * Upgrade the current core version to the latest locally available by running the applicable migrations. */ public static function updateToCurrentVersion(Configuration $configuration = null) { $cms = Core::make('app'); $cms->clearCaches(); $em = ORM::entityManager(); $dbm = new DatabaseStructureManager($em); $dbm->destroyProxyClasses('ConcreteCore'); $dbm->generateProxyClasses(); if (!$configuration) { $configuration = new \Concrete\Core\Updater\Migrations\Configuration(); } $configuration->registerPreviousMigratedVersions(); $migrations = $configuration->getMigrationsToExecute('up', $configuration->getLatestVersion()); foreach ($migrations as $migration) { $migration->execute('up'); } try { $cms->make('helper/file')->makeExecutable(DIR_BASE_CORE . '/bin/concrete5', 'all'); } catch (\Exception $x) { } Config::save('concrete.version_installed', Config::get('concrete.version')); Config::save('concrete.version_db_installed', Config::get('concrete.version_db')); }