예제 #1
0
 /**
  * Update database.
  *
  * @static
  * @access   public
  * @return   View
  * @since    1.2.0-dev
  * @version  1.2.0-dev
  */
 private static function makeUpdateNoExec()
 {
     $entityManager = DB::getEntityManager();
     $tool = new ORM\Tools\SchemaTool($entityManager);
     $classes = [];
     // get list of Model classes
     foreach (DB::getModelsNames() as $sClass) {
         $classes[] = $entityManager->getClassMetadata($sClass);
     }
     // make schemas update
     try {
         $sql = $tool->getUpdateSchemaSql($classes);
         /* @var $sql array */
         $tool->updateSchema($classes);
         $output = View::factory('db_update/backend/update_output')->bind('aSQL', $sql)->renderAndMinify();
     } catch (\Exception $e) {
         $output = __('Error') . ': ' . $e->getMessage();
     }
     // return output
     return $output;
 }