drupal-8.rest-rest_post_update_resource_granularity.php 5.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. /**
  3. * @file
  4. * Contains database additions to drupal-8.bare.standard.php.gz for testing the
  5. * upgrade path of rest_post_update_resource_granularity().
  6. */
  7. use Drupal\Core\Database\Database;
  8. use Drupal\Core\Serialization\Yaml;
  9. $connection = Database::getConnection();
  10. // Set the schema version.
  11. $connection->insert('key_value')
  12. ->fields([
  13. 'collection' => 'system.schema',
  14. 'name' => 'rest',
  15. 'value' => 'i:8201;',
  16. ])
  17. ->execute();
  18. // Update core.extension.
  19. $extensions = $connection->select('config')
  20. ->fields('config', ['data'])
  21. ->condition('collection', '')
  22. ->condition('name', 'core.extension')
  23. ->execute()
  24. ->fetchField();
  25. $extensions = unserialize($extensions);
  26. $extensions['module']['rest'] = 0;
  27. $extensions['module']['serialization'] = 0;
  28. $connection->update('config')
  29. ->fields([
  30. 'data' => serialize($extensions),
  31. ])
  32. ->condition('collection', '')
  33. ->condition('name', 'core.extension')
  34. ->execute();
  35. $connection->merge('key_value')
  36. ->condition('collection', 'entity.definitions.installed')
  37. ->condition('name', 'rest_resource_config.entity_type')
  38. ->fields([
  39. 'value' => 'O:42:"Drupal\Core\Config\Entity\ConfigEntityType":39:{s:16:"�*�config_prefix";s:8:"resource";s:15:"�*�static_cache";b:0;s:14:"�*�lookup_keys";a:1:{i:0;s:4:"uuid";}s:16:"�*�config_export";a:4:{i:0;s:2:"id";i:1;s:9:"plugin_id";i:2;s:11:"granularity";i:3;s:13:"configuration";}s:21:"�*�mergedConfigExport";a:0:{}s:15:"�*�render_cache";b:1;s:19:"�*�persistent_cache";b:1;s:14:"�*�entity_keys";a:6:{s:2:"id";s:2:"id";s:8:"revision";s:0:"";s:6:"bundle";s:0:"";s:8:"langcode";s:8:"langcode";s:16:"default_langcode";s:16:"default_langcode";s:4:"uuid";s:4:"uuid";}s:5:"�*�id";s:20:"rest_resource_config";s:11:"�*�provider";s:4:"rest";s:8:"�*�class";s:37:"Drupal\rest\Entity\RestResourceConfig";s:16:"�*�originalClass";N;s:11:"�*�handlers";a:2:{s:6:"access";s:45:"Drupal\Core\Entity\EntityAccessControlHandler";s:7:"storage";s:45:"Drupal\Core\Config\Entity\ConfigEntityStorage";}s:19:"�*�admin_permission";s:25:"administer rest resources";s:25:"�*�permission_granularity";s:11:"entity_type";s:8:"�*�links";a:0:{}s:17:"�*�label_callback";s:18:"getLabelFromPlugin";s:21:"�*�bundle_entity_type";N;s:12:"�*�bundle_of";N;s:15:"�*�bundle_label";N;s:13:"�*�base_table";N;s:22:"�*�revision_data_table";N;s:17:"�*�revision_table";N;s:13:"�*�data_table";N;s:15:"�*�translatable";b:0;s:8:"�*�label";O:48:"Drupal\Core\StringTranslation\TranslatableMarkup":3:{s:9:"�*�string";s:20:"REST resource config";s:12:"�*�arguments";a:0:{}s:10:"�*�options";a:0:{}}s:17:"�*�label_singular";s:0:"";s:15:"�*�label_plural";s:0:"";s:14:"�*�label_count";a:0:{}s:15:"�*�uri_callback";N;s:8:"�*�group";s:13:"configuration";s:14:"�*�group_label";O:48:"Drupal\Core\StringTranslation\TranslatableMarkup":3:{s:9:"�*�string";s:13:"Configuration";s:12:"�*�arguments";a:0:{}s:10:"�*�options";a:1:{s:7:"context";s:17:"Entity type group";}}s:22:"�*�field_ui_base_route";N;s:26:"�*�common_reference_target";b:0;s:22:"�*�list_cache_contexts";a:0:{}s:18:"�*�list_cache_tags";a:1:{i:0;s:32:"config:rest_resource_config_list";}s:14:"�*�constraints";a:0:{}s:13:"�*�additional";a:0:{}s:20:"�*�stringTranslation";N;}',
  40. 'name' => 'rest_resource_config.entity_type',
  41. 'collection' => 'entity.definitions.installed',
  42. ])
  43. ->execute();
  44. $connection->merge('key_value')
  45. ->condition('collection', 'post_update')
  46. ->condition('name', 'existing_updates')
  47. ->fields([
  48. 'value' => 'a:13:{i:0;s:64:"system_post_update_recalculate_configuration_entity_dependencies";i:1;s:50:"field_post_update_entity_reference_handler_setting";i:2;s:46:"field_post_update_save_custom_storage_property";i:3;s:54:"block_post_update_disable_blocks_with_missing_contexts";i:4;s:46:"views_post_update_cleanup_duplicate_views_data";i:5;s:46:"views_post_update_update_cacheability_metadata";i:6;s:43:"field_post_update_email_widget_size_setting";i:7;s:42:"image_post_update_image_style_dependencies";i:8;s:42:"views_post_update_image_style_dependencies";i:9;s:46:"views_post_update_field_formatter_dependencies";i:10;s:41:"views_post_update_serializer_dependencies";i:11;s:36:"views_post_update_taxonomy_index_tid";i:12;s:53:"rest_post_update_create_rest_resource_config_entities";}',
  49. 'name' => 'existing_updates',
  50. 'collection' => 'post_update',
  51. ])
  52. ->execute();
  53. $connection->insert('config')
  54. ->fields([
  55. 'collection',
  56. 'name',
  57. 'data',
  58. ])
  59. // Default configuration.
  60. ->values([
  61. 'collection' => '',
  62. 'name' => 'rest.resource.entity.node',
  63. 'data' => serialize(Yaml::decode(file_get_contents(__DIR__ . '/rest.resource.entity.node_2721595.yml'))),
  64. ])
  65. // Custom configuration, with not same formats on all resources.
  66. ->values([
  67. 'collection' => '',
  68. 'name' => 'rest.resource.entity.comment',
  69. 'data' => serialize(Yaml::decode(file_get_contents(__DIR__ . '/rest.resource.entity.comment_2721595.yml'))),
  70. ])
  71. // Custom configuration, with not same authentication on all resources.
  72. ->values([
  73. 'collection' => '',
  74. 'name' => 'rest.resource.entity.user',
  75. 'data' => serialize(Yaml::decode(file_get_contents(__DIR__ . '/rest.resource.entity.user_2721595.yml'))),
  76. ])
  77. ->execute();