drupal-8.file_formatters_update_2677990.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. /**
  3. * @file
  4. * Contains database additions to drupal-8.bare.standard.php.gz for testing the
  5. * upgrade path of https://www.drupal.org/node/2677990.
  6. */
  7. use Drupal\Core\Database\Database;
  8. use Drupal\Component\Serialization\Yaml;
  9. use Drupal\field\Entity\FieldStorageConfig;
  10. $connection = Database::getConnection();
  11. // Configuration for a file field storage for generic display.
  12. $field_file_generic_2677990 = Yaml::decode(file_get_contents(__DIR__ . '/field.storage.node.field_file_generic_2677990.yml'));
  13. // Configuration for a file field storage for table display.
  14. $field_file_table_2677990 = Yaml::decode(file_get_contents(__DIR__ . '/field.storage.node.field_file_table_2677990.yml'));
  15. $connection->insert('config')
  16. ->fields([
  17. 'collection',
  18. 'name',
  19. 'data',
  20. ])
  21. ->values([
  22. 'collection' => '',
  23. 'name' => 'field.storage.' . $field_file_generic_2677990['id'],
  24. 'data' => serialize($field_file_generic_2677990),
  25. ])
  26. ->values([
  27. 'collection' => '',
  28. 'name' => 'field.storage.' . $field_file_table_2677990['id'],
  29. 'data' => serialize($field_file_table_2677990),
  30. ])
  31. ->execute();
  32. // We need to Update the registry of "last installed" field definitions.
  33. $installed = $connection->select('key_value')
  34. ->fields('key_value', ['value'])
  35. ->condition('collection', 'entity.definitions.installed')
  36. ->condition('name', 'node.field_storage_definitions')
  37. ->execute()
  38. ->fetchField();
  39. $installed = unserialize($installed);
  40. $installed['field_file_generic_2677990'] = new FieldStorageConfig($field_file_generic_2677990);
  41. $installed['field_file_table_2677990'] = new FieldStorageConfig($field_file_table_2677990);
  42. $connection->update('key_value')
  43. ->condition('collection', 'entity.definitions.installed')
  44. ->condition('name', 'node.field_storage_definitions')
  45. ->fields([
  46. 'value' => serialize($installed),
  47. ])
  48. ->execute();
  49. // Configuration for a file field storage for generic display.
  50. $field_file_generic_2677990 = Yaml::decode(file_get_contents(__DIR__ . '/field.field.node.article.field_file_generic_2677990.yml'));
  51. // Configuration for a file field storage for table display.
  52. $field_file_table_2677990 = Yaml::decode(file_get_contents(__DIR__ . '/field.field.node.article.field_file_table_2677990.yml'));
  53. $connection->insert('config')
  54. ->fields([
  55. 'collection',
  56. 'name',
  57. 'data',
  58. ])
  59. ->values([
  60. 'collection' => '',
  61. 'name' => 'field.field.' . $field_file_generic_2677990['id'],
  62. 'data' => serialize($field_file_generic_2677990),
  63. ])
  64. ->values([
  65. 'collection' => '',
  66. 'name' => 'field.field.' . $field_file_table_2677990['id'],
  67. 'data' => serialize($field_file_table_2677990),
  68. ])
  69. ->execute();
  70. // Configuration of the view mode to set the proper formatters.
  71. $view_mode_2677990 = Yaml::decode(file_get_contents(__DIR__ . '/core.entity_view_display.node.article.default_2677990.yml'));
  72. $connection->update('config')
  73. ->fields([
  74. 'data' => serialize($view_mode_2677990),
  75. ])
  76. ->condition('name', 'core.entity_view_display.' . $view_mode_2677990['id'])
  77. ->execute();