diff --git a/modules/field/field.module b/modules/field/field.module index 77b5dde..9cc142b 100644 --- a/modules/field/field.module +++ b/modules/field/field.module @@ -425,12 +425,23 @@ function field_modules_disabled($modules) { function field_sync_field_status() { // Refresh the 'active' and 'storage_active' columns according to the current // set of enabled modules. - $all_modules = system_rebuild_module_data(); - $modules = array(); - foreach ($all_modules as $module_name => $module) { - if ($module->status) { - $modules[] = $module_name; - field_associate_fields($module_name); + // + // But don't run the full system_rebuild_module_data() during installation, + // as it is slow. + if (variable_get('install_task') != 'done') { + $modules = module_list(TRUE); + foreach ($modules as $module) { + field_associate_fields($module); + } + } + else { + $all_modules = system_rebuild_module_data(); + $modules = array(); + foreach ($all_modules as $module_name => $module) { + if ($module->status) { + $modules[] = $module_name; + field_associate_fields($module_name); + } } } db_update('field_config')