Problem/Motivation
Workaround: If you encounter this error, update to 8.2.7 first and then update to 8.3.0.
If old schema cache entries are left around during an update they can get in the way.
Steps to reproduce:
- git co 8.1.1
- composer install
- drush si minimal
- drush en hal config -y
- drush config-edit rest.settings and change the link_domain - it actually not important but it is what I did.
- git co 8.3.0
- composer install
- drush updatedb -y
- BOOM
Here's the backtrace:
Error: Call to undefined method Drupal\Core\Config\Schema\Undefined::get() in Drupal\Core\Config\StorableConfigBase->castValue() (line [error]
179 of /Volumes/devdisk/dev/sites/drupal8alt.dev/core/lib/Drupal/Core/Config/StorableConfigBase.php) #0
/Volumes/devdisk/dev/sites/drupal8alt.dev/core/lib/Drupal/Core/Config/Config.php(212):
Drupal\Core\Config\StorableConfigBase->castValue('uuid', '8da39019-21f6-4...')
#1 /Volumes/devdisk/dev/sites/drupal8alt.dev/core/lib/Drupal/Core/Config/Entity/ConfigEntityStorage.php(280):
Drupal\Core\Config\Config->save(false)
#2 /Volumes/devdisk/dev/sites/drupal8alt.dev/core/lib/Drupal/Core/Entity/EntityStorageBase.php(392):
Drupal\Core\Config\Entity\ConfigEntityStorage->doSave('entity.node', Object(Drupal\rest\Entity\RestResourceConfig))
#3 /Volumes/devdisk/dev/sites/drupal8alt.dev/core/lib/Drupal/Core/Config/Entity/ConfigEntityStorage.php(259):
Drupal\Core\Entity\EntityStorageBase->save(Object(Drupal\rest\Entity\RestResourceConfig))
#4 /Volumes/devdisk/dev/sites/drupal8alt.dev/core/lib/Drupal/Core/Entity/Entity.php(364):
Drupal\Core\Config\Entity\ConfigEntityStorage->save(Object(Drupal\rest\Entity\RestResourceConfig))
#5 /Volumes/devdisk/dev/sites/drupal8alt.dev/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php(637):
Drupal\Core\Entity\Entity->save()
#6 /Volumes/devdisk/dev/sites/drupal8alt.dev/core/modules/rest/rest.post_update.php(25):
Drupal\Core\Config\Entity\ConfigEntityBase->save()
#7 /Volumes/devdisk/dev/sites/drupal8alt.dev/core/includes/update.inc(241):
rest_post_update_create_rest_resource_config_entities(Array)
#8 /Volumes/devdisk/dev/drush5/commands/core/drupal/batch.inc(163): update_invoke_post_update('rest_post_updat...',
Object(DrushBatchContext))
#9 /Volumes/devdisk/dev/drush5/commands/core/drupal/batch.inc(111): _drush_batch_worker()
#10 /Volumes/devdisk/dev/drush5/includes/batch.inc(98): _drush_batch_command('2')
#11 /Volumes/devdisk/dev/drush5/commands/core/drupal/update.inc(174): drush_batch_command('2')
#12 /Volumes/devdisk/dev/drush5/commands/core/core.drush.inc(1224): _update_batch_command('2')
#13 /Volumes/devdisk/dev/drush5/includes/command.inc(422): drush_core_updatedb_batch_process('2')
#14 /Volumes/devdisk/dev/drush5/includes/command.inc(231): _drush_invoke_hooks(Array, Array)
#15 /Volumes/devdisk/dev/drush5/includes/command.inc(199): drush_command('2')
#16 /Volumes/devdisk/dev/drush5/lib/Drush/Boot/BaseBoot.php(67): drush_dispatch(Array)
#17 /Volumes/devdisk/dev/drush5/includes/preflight.inc(66): Drush\Boot\BaseBoot->bootstrap_and_dispatch()
#18 /Volumes/devdisk/dev/drush5/drush.php(12): drush_main()
#19 {main}.
Proposed resolution
If we're in update don't use schema.
This is appears to be a drush bug - you need to be on version ^8.1.10 to have the fix.
Remaining tasks
User interface changes
None
API changes
?
Data model changes
None