Ejemplo n.º 1
0
 public static function autoBuildDatabase(&$messageLogger, $autoBuildTestModels = false)
 {
     ZurmoDatabaseCompatibilityUtil::createStoredFunctionsAndProcedures();
     ZurmoDatabaseCompatibilityUtil::createActualPermissionsCacheTable();
     ZurmoDatabaseCompatibilityUtil::createNamedSecurableActualPermissionsCacheTable();
     ZurmoDatabaseCompatibilityUtil::createActualRightsCacheTable();
     $messageLogger->addInfoMessage(Zurmo::t('InstallModule', 'Searching for models'));
     $rootModels = PathUtil::getAllCanHaveBeanModelClassNames();
     $messageLogger->addInfoMessage(Zurmo::t('InstallModule', 'Models catalog built.'));
     RedBeanModelsToTablesAdapter::generateTablesFromModelClassNames($rootModels, $messageLogger);
     ReadPermissionsSubscriptionUtil::buildTables();
     if ($autoBuildTestModels) {
         TestSuite::buildDependentTestModels($messageLogger);
     }
 }
Ejemplo n.º 2
0
 /**
  * Auto builds the database.  Must manually set AuditEvent first to avoid issues building the AuditEvent
  * table. This is because AuditEvent is specially optimized during this build process to reduce how
  * long this takes to do.
  */
 public static function autoBuildDatabase(&$messageLogger)
 {
     $rootModels = array();
     $rootModels[] = 'AuditEvent';
     foreach (Module::getModuleObjects() as $module) {
         $moduleAndDependenciesRootModelNames = $module->getRootModelNamesIncludingDependencies();
         $rootModels = array_merge($rootModels, array_diff($moduleAndDependenciesRootModelNames, $rootModels));
     }
     ZurmoDatabaseCompatibilityUtil::createStoredFunctionsAndProcedures();
     RedBeanDatabaseBuilderUtil::autoBuildModels($rootModels, $messageLogger);
     ZurmoDatabaseCompatibilityUtil::createIndexes();
 }