Repeatable: Always
Steps to repeat:
1. Export of a configuration including module deploy enabled
1.1. Clone DrupalVM a vagrant ready to deploy Drupal 8 virtual machine
git clone https://git.infeurope.lu/Drupal8/drupal-vm.git drupal-vm
drupal-vm
1.2. Create a default DrupaVM
vagrant up
1.3. Log on the VM
vagrant ssh
1.4. Update composer modules
cd ..
composer update
1.5. Install Deploy components
composer require drupal/deploy
1.6. Enable Deploy components
drush pm-enable deploy serialization hal rest -y
1.7. Build site
drush site-install --account-name=admin --account-pass=admin --db-url="mysql://drupal:drupal@localhost:3306/drupal" -y
1.8. Export config
drush cex
1.9. Backup the config/sync directory out of current VM
1.10. Clean housing
exit
vagrant destroy
delete drupal shared directory
2. Import the configuration in a plain vanilla
2.1. Create a default DrupaVM
vagrant up
2.2. Log on the VM
vagrant ssh
2.3. Update composer modules
cd ..
composer update
2.4. Copy previous configuration in config/sync
2.5. Build site
drush site-install --account-name=admin --account-pass=admin --db-url="mysql://drupal:drupal@localhost:3306/drupal" -y
2.6. Install Deploy components
composer require drupal/deploy
2.7. Drush import of the configuration
drush cim -y
Expected Results:
Vanilla Installation of Drupal 8 site with enabled deploy module
Actual Results:
[error] Drupal\Core\Config\ConfigImporterException: There were errors validating the config synchronization. in Drupal\Core\Config\ConfigImporter->validate() (line 728 of /var/www/drupalvm/drupal/web/core/lib/Drupal/Core/Config/ConfigImporter.php).
[error] The import failed due to the following reasons:
Site UUID in source storage does not match the target storage.
Entities exist of type Shortcut link and Shortcut set Default. These entities need to be deleted before importing.
Workaround
Keep deploy configuration out of config/sync (or maually remove it); install the site ; add deploy and enable it.
Alternate scenario:
By managing the configuration under git, a config_installer profile, and a preconfiguration in config/sync, the site install is failing with
drush site-install config_installer --account-name=admin --account-pass=admin --db-url="mysql://drupal:drupal@localhost:3306/drupal" -y
You are about to DROP all tables in your 'drupal' database. Do you want to continue? (y/n): y
Starting Drupal installation. This takes a while. Consider using the --notify global option. [ok]
PDOException: SQLSTATE[HY000]: General error: 1364 Field 'revision_id' doesn't have a default value in /var/www/html/drupal/web/core/lib/Drupal/Core/Database/Statement.php:59 [error]PDOException: SQLSTATE[HY000]: General error: 1364 Field 'revision_id' doesn't have a default value in /var/www/html/drupal/web/core/lib/Drupal/Core/Database/Statement.php:59 [error]
Stack trace:
#0 /var/www/html/drupal/web/core/lib/Drupal/Core/Database/Statement.php(59): PDOStatement->execute(Array)
#1 /var/www/html/drupal/web/core/lib/Drupal/Core/Database/Connection.php(625): Drupal\Core\Database\Statement->execute(Array, Array)
#2 /var/www/html/drupal/web/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php(87): Drupal\Core\Database\Connection->query('INSERT INTO {sh...', Array, Array)
#3 /var/www/html/drupal/web/core/lib/Drupal/Core/Database/Driver/mysql/Insert.php(32): Drupal\Core\Database\Driver\mysql\Connection->query('INSERT INTO {sh...', Array, Array)
#4 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(976): Drupal\Core\Database\Driver\mysql\Insert->execute()
#5 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(914): Drupal\Core\Entity\Sql\SqlContentEntityStorage->saveToSharedTables(Object(Drupal\shortcut\Entity\Shortcut))
#6 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(552): Drupal\Core\Entity\Sql\SqlContentEntityStorage->doSaveFieldItems(Object(Drupal\shortcut\Entity\Shortcut))
#7 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(392): Drupal\Core\Entity\ContentEntityStorageBase->doSave(NULL, Object(Drupal\shortcut\Entity\Shortcut))
#8 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(820): Drupal\Core\Entity\EntityStorageBase->save(Object(Drupal\shortcut\Entity\Shortcut))
#9 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Entity.php(391): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save(Object(Drupal\shortcut\Entity\Shortcut))
#10 /var/www/html/drupal/web/core/profiles/standard/standard.install(58): Drupal\Core\Entity\Entity->save()
#11 [internal function]: standard_install()
#12 /var/www/html/drupal/web/core/lib/Drupal/Core/Extension/ModuleHandler.php(391): call_user_func_array('standard_instal...', Array)
#13 /var/www/html/drupal/web/core/lib/Drupal/Core/Extension/ModuleInstaller.php(298): Drupal\Core\Extension\ModuleHandler->invoke('standard', 'install')
#14 /var/www/html/drupal/web/core/lib/Drupal/Core/ProxyClass/Extension/ModuleInstaller.php(83): Drupal\Core\Extension\ModuleInstaller->install(Array, false)
#15 /var/www/html/drupal/web/profiles/config_installer/config_installer.profile(232): Drupal\Core\ProxyClass\Extension\ModuleInstaller->install(Array, false)
#16 [internal function]: config_installer_config_import_profile(Array, Object(Drupal\Core\Config\ConfigImporter))
#17 /var/www/html/drupal/web/core/lib/Drupal/Core/Config/ConfigImporter.php(492): call_user_func_array('config_installe...', Array)
#18 /var/www/html/drupal/web/profiles/config_installer/config_installer.profile(140): Drupal\Core\Config\ConfigImporter->doSyncStep('config_installe...', Array)
#19 /var/www/html/drupal/web/core/includes/batch.inc(294): config_install_batch_process(Object(Drupal\Core\Config\ConfigImporter), 'config_installe...', Array)
#20 /var/www/html/drupal/web/core/includes/form.inc(875): _batch_process()
#21 /var/www/html/drupal/web/core/includes/install.core.inc(628): batch_process(Object(Drupal\Core\Url), Object(Drupal\Core\Url))
#22 /var/www/html/drupal/web/core/includes/install.core.inc(549): install_run_task(Array, Array)
#23 /var/www/html/drupal/web/core/includes/install.core.inc(117): install_run_tasks(Array)
#24 /var/www/html/drupal/vendor/drush/drush/includes/drush.inc(727): install_drupal(Object(Composer\Autoload\ClassLoader), Array)
#25 /var/www/html/drupal/vendor/drush/drush/includes/drush.inc(712): drush_call_user_func_array('install_drupal', Array)
#26 /var/www/html/drupal/vendor/drush/drush/commands/core/drupal/site_install.inc(82): drush_op('install_drupal', Object(Composer\Autoload\ClassLoader), Array)
#27 /var/www/html/drupal/vendor/drush/drush/commands/core/site_install.drush.inc(255): drush_core_site_install_version('config_installe...', Array)
#28 /var/www/html/drupal/vendor/drush/drush/includes/command.inc(422): drush_core_site_install('config_installe...')
#29 /var/www/html/drupal/vendor/drush/drush/includes/command.inc(231): _drush_invoke_hooks(Array, Array)
#30 /var/www/html/drupal/vendor/drush/drush/includes/command.inc(199): drush_command('config_installe...')
#31 /var/www/html/drupal/vendor/drush/drush/lib/Drush/Boot/BaseBoot.php(67): drush_dispatch(Array)
#32 /var/www/html/drupal/vendor/drush/drush/includes/preflight.inc(66): Drush\Boot\BaseBoot->bootstrap_and_dispatch()
#33 /var/www/html/drupal/vendor/drush/drush/drush.php(12): drush_main()
#34 {main}
Next Drupal\Core\Database\DatabaseExceptionWrapper: SQLSTATE[HY000]: General error: 1364 Field 'revision_id' doesn't have a default value: INSERT INTO {shortcut_field_data} (id, shortcut_set, langcode, title, weight, link__uri,
link__title, link__options, default_langcode) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5,
:db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8); Array
(
[:db_insert_placeholder_0] => 1
[:db_insert_placeholder_1] => default
[:db_insert_placeholder_2] => en
[:db_insert_placeholder_3] => Add content
[:db_insert_placeholder_4] => -20
[:db_insert_placeholder_5] => internal:/node/add
[:db_insert_placeholder_6] =>
[:db_insert_placeholder_7] => a:0:{}
[:db_insert_placeholder_8] => 1
)
in /var/www/html/drupal/web/core/lib/Drupal/Core/Database/Connection.php:686
Stack trace:
#0 /var/www/html/drupal/web/core/lib/Drupal/Core/Database/Connection.php(650): Drupal\Core\Database\Connection->handleQueryException(Object(PDOException), 'INSERT INTO {sh...', Array, Array)
#1 /var/www/html/drupal/web/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php(87): Drupal\Core\Database\Connection->query('INSERT INTO {sh...', Array, Array)
#2 /var/www/html/drupal/web/core/lib/Drupal/Core/Database/Driver/mysql/Insert.php(32): Drupal\Core\Database\Driver\mysql\Connection->query('INSERT INTO {sh...', Array, Array)
#3 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(976): Drupal\Core\Database\Driver\mysql\Insert->execute()
#4 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(914): Drupal\Core\Entity\Sql\SqlContentEntityStorage->saveToSharedTables(Object(Drupal\shortcut\Entity\Shortcut))
#5 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(552): Drupal\Core\Entity\Sql\SqlContentEntityStorage->doSaveFieldItems(Object(Drupal\shortcut\Entity\Shortcut))
#6 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(392): Drupal\Core\Entity\ContentEntityStorageBase->doSave(NULL, Object(Drupal\shortcut\Entity\Shortcut))
#7 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(820): Drupal\Core\Entity\EntityStorageBase->save(Object(Drupal\shortcut\Entity\Shortcut))
#8 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Entity.php(391): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save(Object(Drupal\shortcut\Entity\Shortcut))
#9 /var/www/html/drupal/web/core/profiles/standard/standard.install(58): Drupal\Core\Entity\Entity->save()
#10 [internal function]: standard_install()
#11 /var/www/html/drupal/web/core/lib/Drupal/Core/Extension/ModuleHandler.php(391): call_user_func_array('standard_instal...', Array)
#12 /var/www/html/drupal/web/core/lib/Drupal/Core/Extension/ModuleInstaller.php(298): Drupal\Core\Extension\ModuleHandler->invoke('standard', 'install')
#13 /var/www/html/drupal/web/core/lib/Drupal/Core/ProxyClass/Extension/ModuleInstaller.php(83): Drupal\Core\Extension\ModuleInstaller->install(Array, false)
#14 /var/www/html/drupal/web/profiles/config_installer/config_installer.profile(232): Drupal\Core\ProxyClass\Extension\ModuleInstaller->install(Array, false)
#15 [internal function]: config_installer_config_import_profile(Array, Object(Drupal\Core\Config\ConfigImporter))
#16 /var/www/html/drupal/web/core/lib/Drupal/Core/Config/ConfigImporter.php(492): call_user_func_array('config_installe...', Array)
#17 /var/www/html/drupal/web/profiles/config_installer/config_installer.profile(140): Drupal\Core\Config\ConfigImporter->doSyncStep('config_installe...', Array)
#18 /var/www/html/drupal/web/core/includes/batch.inc(294): config_install_batch_process(Object(Drupal\Core\Config\ConfigImporter), 'config_installe...', Array)
#19 /var/www/html/drupal/web/core/includes/form.inc(875): _batch_process()
#20 /var/www/html/drupal/web/core/includes/install.core.inc(628): batch_process(Object(Drupal\Core\Url), Object(Drupal\Core\Url))
#21 /var/www/html/drupal/web/core/includes/install.core.inc(549): install_run_task(Array, Array)
#22 /var/www/html/drupal/web/core/includes/install.core.inc(117): install_run_tasks(Array)
#23 /var/www/html/drupal/vendor/drush/drush/includes/drush.inc(727): install_drupal(Object(Composer\Autoload\ClassLoader), Array)
#24 /var/www/html/drupal/vendor/drush/drush/includes/drush.inc(712): drush_call_user_func_array('install_drupal', Array)
#25 /var/www/html/drupal/vendor/drush/drush/commands/core/drupal/site_install.inc(82): drush_op('install_drupal', Object(Composer\Autoload\ClassLoader), Array)
#26 /var/www/html/drupal/vendor/drush/drush/commands/core/site_install.drush.inc(255): drush_core_site_install_version('config_installe...', Array)
#27 /var/www/html/drupal/vendor/drush/drush/includes/command.inc(422): drush_core_site_install('config_installe...')
#28 /var/www/html/drupal/vendor/drush/drush/includes/command.inc(231): _drush_invoke_hooks(Array, Array)
#29 /var/www/html/drupal/vendor/drush/drush/includes/command.inc(199): drush_command('config_installe...')
#30 /var/www/html/drupal/vendor/drush/drush/lib/Drush/Boot/BaseBoot.php(67): drush_dispatch(Array)
#31 /var/www/html/drupal/vendor/drush/drush/includes/preflight.inc(66): Drush\Boot\BaseBoot->bootstrap_and_dispatch()
#32 /var/www/html/drupal/vendor/drush/drush/drush.php(12): drush_main()
#33 {main}
Next Drupal\Core\Entity\EntityStorageException: SQLSTATE[HY000]: General error: 1364 Field 'revision_id' doesn't have a default value: INSERT INTO {shortcut_field_data} (id, shortcut_set, langcode, title, weight, link__uri,
link__title, link__options, default_langcode) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5,
:db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8); Array
(
[:db_insert_placeholder_0] => 1
[:db_insert_placeholder_1] => default
[:db_insert_placeholder_2] => en
[:db_insert_placeholder_3] => Add content
[:db_insert_placeholder_4] => -20
[:db_insert_placeholder_5] => internal:/node/add
[:db_insert_placeholder_6] =>
[:db_insert_placeholder_7] => a:0:{}
[:db_insert_placeholder_8] => 1
)
in /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php:829
Stack trace:
#0 /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Entity.php(391): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save(Object(Drupal\shortcut\Entity\Shortcut))
#1 /var/www/html/drupal/web/core/profiles/standard/standard.install(58): Drupal\Core\Entity\Entity->save()
#2 [internal function]: standard_install()
#3 /var/www/html/drupal/web/core/lib/Drupal/Core/Extension/ModuleHandler.php(391): call_user_func_array('standard_instal...', Array)
#4 /var/www/html/drupal/web/core/lib/Drupal/Core/Extension/ModuleInstaller.php(298): Drupal\Core\Extension\ModuleHandler->invoke('standard', 'install')
#5 /var/www/html/drupal/web/core/lib/Drupal/Core/ProxyClass/Extension/ModuleInstaller.php(83): Drupal\Core\Extension\ModuleInstaller->install(Array, false)
#6 /var/www/html/drupal/web/profiles/config_installer/config_installer.profile(232): Drupal\Core\ProxyClass\Extension\ModuleInstaller->install(Array, false)
#7 [internal function]: config_installer_config_import_profile(Array, Object(Drupal\Core\Config\ConfigImporter))
#8 /var/www/html/drupal/web/core/lib/Drupal/Core/Config/ConfigImporter.php(492): call_user_func_array('config_installe...', Array)
#9 /var/www/html/drupal/web/profiles/config_installer/config_installer.profile(140): Drupal\Core\Config\ConfigImporter->doSyncStep('config_installe...', Array)
#10 /var/www/html/drupal/web/core/includes/batch.inc(294): config_install_batch_process(Object(Drupal\Core\Config\ConfigImporter), 'config_installe...', Array)
#11 /var/www/html/drupal/web/core/includes/form.inc(875): _batch_process()
#12 /var/www/html/drupal/web/core/includes/install.core.inc(628): batch_process(Object(Drupal\Core\Url), Object(Drupal\Core\Url))
#13 /var/www/html/drupal/web/core/includes/install.core.inc(549): install_run_task(Array, Array)
#14 /var/www/html/drupal/web/core/includes/install.core.inc(117): install_run_tasks(Array)
#15 /var/www/html/drupal/vendor/drush/drush/includes/drush.inc(727): install_drupal(Object(Composer\Autoload\ClassLoader), Array)
#16 /var/www/html/drupal/vendor/drush/drush/includes/drush.inc(712): drush_call_user_func_array('install_drupal', Array)
#17 /var/www/html/drupal/vendor/drush/drush/commands/core/drupal/site_install.inc(82): drush_op('install_drupal', Object(Composer\Autoload\ClassLoader), Array)
#18 /var/www/html/drupal/vendor/drush/drush/commands/core/site_install.drush.inc(255): drush_core_site_install_version('config_installe...', Array)
#19 /var/www/html/drupal/vendor/drush/drush/includes/command.inc(422): drush_core_site_install('config_installe...')
#20 /var/www/html/drupal/vendor/drush/drush/includes/command.inc(231): _drush_invoke_hooks(Array, Array)
#21 /var/www/html/drupal/vendor/drush/drush/includes/command.inc(199): drush_command('config_installe...')
#22 /var/www/html/drupal/vendor/drush/drush/lib/Drush/Boot/BaseBoot.php(67): drush_dispatch(Array)
#23 /var/www/html/drupal/vendor/drush/drush/includes/preflight.inc(66): Drush\Boot\BaseBoot->bootstrap_and_dispatch()
#24 /var/www/html/drupal/vendor/drush/drush/drush.php(12): drush_main()
#25 {main}
because the initialization of shortcut_field_data is not filling the not nullable revision_id presumally injected by deploy dependencies.
Comments