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