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();
|