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 }