function migratingModels() { $migrated = Cache::read('migrating_models'); if (empty($migrated)) { App::import('Lib', 'Migration.MigrationConfig'); $preset = MigrationConfig::load('preset'); $full = MigrationConfig::load('full'); $models = Migration::modelList(); $migrated = array_values(array_intersect($models, array_keys($preset))); foreach (array_diff($models, $migrated) as $mname) { if (!Migration::modelIsExcluded($mname) && Migration::testModelIntegrity($mname)) { $Model = ClassRegistry::init($mname); if ($Model->hasField('modified') && ($full || $Model->Behaviors->attached('Migration'))) { $p = explode('.', $mname); $migrated[end($p)] = $mname; } } } Cache::write('migrating_models', $migrated); } return $migrated; }