annotate core/modules/views/tests/fixtures/update/views-data-table-dependency.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 1fec387a4317
children
rev   line source
Chris@14 1 <?php
Chris@14 2
Chris@14 3 /**
Chris@14 4 * @file
Chris@14 5 * Contains database additions to drupal-8.bare.standard.php.gz for testing
Chris@14 6 * views_post_update_views_data_table_dependencies().
Chris@14 7 */
Chris@14 8
Chris@14 9 use Drupal\Core\Database\Database;
Chris@14 10 use Drupal\Core\Serialization\Yaml;
Chris@14 11 use Drupal\views\Tests\ViewTestData;
Chris@14 12
Chris@14 13 $connection = Database::getConnection();
Chris@14 14
Chris@14 15 // Install the views_test_data module.
Chris@14 16 $extensions = $connection->select('config')
Chris@14 17 ->fields('config', ['data'])
Chris@14 18 ->condition('collection', '')
Chris@14 19 ->condition('name', 'core.extension')
Chris@14 20 ->execute()
Chris@14 21 ->fetchField();
Chris@14 22 $extensions = unserialize($extensions);
Chris@14 23 $extensions['module']['views_test_data'] = 8000;
Chris@14 24 $connection->update('config')
Chris@14 25 ->fields([
Chris@14 26 'data' => serialize($extensions),
Chris@14 27 ])
Chris@14 28 ->condition('collection', '')
Chris@14 29 ->condition('name', 'core.extension')
Chris@14 30 ->execute();
Chris@14 31
Chris@14 32 $views_configs = [];
Chris@14 33 // A view that should depend on views_data_test.
Chris@14 34 $views_configs[] = Yaml::decode(file_get_contents(__DIR__ . '/views.view.test_table_dependency_update.yml'));
Chris@14 35
Chris@14 36 foreach ($views_configs as $views_config) {
Chris@14 37 $connection->insert('config')
Chris@14 38 ->fields([
Chris@14 39 'collection',
Chris@14 40 'name',
Chris@14 41 'data',
Chris@14 42 ])
Chris@14 43 ->values([
Chris@14 44 'collection' => '',
Chris@14 45 'name' => 'views.view.' . $views_config['id'],
Chris@14 46 'data' => serialize($views_config),
Chris@14 47 ])
Chris@14 48 ->execute();
Chris@14 49 }
Chris@14 50
Chris@14 51 // We need the views_test_data table to exist and state entries for
Chris@14 52 // views_test_data_schema() and views_test_data_views_data().
Chris@14 53 $schema = ViewTestData::schemaDefinition();
Chris@14 54 $connection->schema()->createTable('views_test_data', $schema['views_test_data']);
Chris@14 55 $connection->insert('key_value')
Chris@14 56 ->fields([
Chris@14 57 'collection',
Chris@14 58 'name',
Chris@14 59 'value',
Chris@14 60 ])
Chris@14 61 ->values([
Chris@14 62 'collection' => 'state',
Chris@14 63 'name' => 'views_test_data_schema',
Chris@14 64 'value' => serialize($schema),
Chris@14 65 ])
Chris@14 66 ->values([
Chris@14 67 'collection' => 'state',
Chris@14 68 'name' => 'views_test_data_views_data',
Chris@14 69 'value' => serialize(ViewTestData::viewsData()),
Chris@14 70 ])
Chris@14 71 ->execute();