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

pcolot created an issue.