Mercurial > hg > cmmr2012-drupal-site
annotate modules/contrib/migrate_plus/migrate_plus.install @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 /** |
Chris@0 | 4 * @file |
Chris@0 | 5 * Install, update, and uninstall functions for migrate_plus. |
Chris@0 | 6 */ |
Chris@0 | 7 |
Chris@0 | 8 /** |
Chris@0 | 9 * Converts 8.0.x core migration entities to 8.1.x migrate_plus entities. |
Chris@0 | 10 */ |
Chris@0 | 11 function migrate_plus_update_8100() { |
Chris@0 | 12 // We cannot use the configration entity system directly, because the entity |
Chris@0 | 13 // type migrate.migration.* no longer exists - we must directly manipulate |
Chris@0 | 14 // the config table. |
Chris@0 | 15 $database = \Drupal::database(); |
Chris@0 | 16 $migration_config = $database->select('config', 'c') |
Chris@0 | 17 ->fields('c', ['name', 'data']) |
Chris@0 | 18 ->condition('name', 'migrate.migration.%', 'LIKE') |
Chris@0 | 19 ->execute(); |
Chris@0 | 20 foreach ($migration_config as $migration) { |
Chris@0 | 21 $data = unserialize($migration->data); |
Chris@0 | 22 if (isset($data['third_party_settings']['migrate_plus']['migration_group'])) { |
Chris@0 | 23 $data['migration_group'] = $data['third_party_settings']['migrate_plus']['migration_group']; |
Chris@0 | 24 unset($data['third_party_settings']['migrate_plus']); |
Chris@0 | 25 if (empty($data['third_party_settings'])) { |
Chris@0 | 26 unset($data['third_party_settings']); |
Chris@0 | 27 } |
Chris@0 | 28 $new_name = str_replace('migrate.migration.', 'migrate_plus.migration.', $migration->name); |
Chris@0 | 29 $database->update('config') |
Chris@0 | 30 ->fields([ |
Chris@0 | 31 'name' => $new_name, |
Chris@0 | 32 'data' => serialize($data), |
Chris@0 | 33 ]) |
Chris@0 | 34 ->condition('name', $migration->name) |
Chris@0 | 35 ->execute(); |
Chris@0 | 36 } |
Chris@0 | 37 } |
Chris@0 | 38 } |