Example #1
0
 /**
  * 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'));
 }