I am in the last stages of an update from drupal 8 to 9 using composer and drush. I am at the stage of running the database update. However:
vendor/bin/drush updatedb:status
fails with
Error: Class 'Drupal\mysql\Driver\Database\mysql\Connection' not found
(full stack below)
But in my settings.php, I have the database namespace set to 'Drupal\Core\Database\Driver\mysql'. Somewhere the extra 'mysql' is getting inserted into this namespace string. Edit: If I comment out the namespace specification in settings.php, it is still resulting in the same error.
If I corrupt my settings.php to list something like 'Drupdddddal\Core\Database\Driver\mysql' I get
Class 'Drupdddddal\Core\Database\Driver\mysql\Connection' not found
Which proves that drush is parsing settings.php. Why is it messing with the namespace string I am providing, and more to the point, how do I get around this?
Stack below; some strings masked for privacy.
Error: Class 'Drupal\mysql\Driver\Database\mysql\Connection' not found in /home/XXXXXX/YYYYYYY/vendor/drupal/core/lib/Drupal/Core/Database/Database.php on line 413 #0 /home/XXXXXX/YYYYYYY/vendor/drupal/core/lib/Drupal/Core/Database/Database.\
php(189): Drupal\Core\Database\Database::openConnection('default', 'default')
#1 /home/XXXXXX/YYYYYYY/vendor/drush/drush/src/Boot/DrupalBoot8.php(194): Drupal\Core\Database\Database::getConnection()
#2 /home/XXXXXX/YYYYYYY/vendor/drush/drush/src/Boot/BootstrapManager.php(352): Drush\Boot\DrupalBoot8->bootstrapDrupalDatabaseValidate(Object(Drush\Boot\BootstrapManager))
#3 /home/XXXXXX/YYYYYYY/vendor/drush/drush/src/Boot/BootstrapManager.php(429): Drush\Boot\BootstrapManager->bootstrapValidate(4)
#4 /home/XXXXXX/YYYYYYY/vendor/drush/drush/src/Boot/BootstrapManager.php(384): Drush\Boot\BootstrapManager->bootstrapToPhaseIndex(5, Object(Consolidation\AnnotatedCommand\AnnotationData))
#5 /home/XXXXXX/YYYYYYY/vendor/drush/drush/src/Boot/BootstrapHook.php(32): Drush\Boot\BootstrapManager->bootstrapToPhase('full', Object(Consolidation\AnnotatedCommand\AnnotationData))
#6 /home/XXXXXX/YYYYYYY/vendor/consolidation/annotated-command/src/Hooks/Dispatchers/InitializeHookDispatcher.php(44): Drush\Boot\BootstrapHook->initialize(Object(Symfony\Component\Console\Input\ArgvInput), Object(Consolidation\AnnotatedCommand\AnnotationData)\
)
#7 /home/XXXXXX/YYYYYYY/vendor/consolidation/annotated-command/src/Hooks/Dispatchers/InitializeHookDispatcher.php(36): Consolidation\AnnotatedCommand\Hooks\Dispatchers\InitializeHookDispatcher->doInitializeHook(Object(Drush\Boot\BootstrapHook), Object(Symfony\\
Component\Console\Input\ArgvInput), Object(Consolidation\AnnotatedCommand\AnnotationData))
#8 /home/XXXXXX/YYYYYYY/vendor/consolidation/annotated-command/src/Hooks/Dispatchers/InitializeHookDispatcher.php(29): Consolidation\AnnotatedCommand\Hooks\Dispatchers\InitializeHookDispatcher->callInitializeHook(Object(Drush\Boot\BootstrapHook), Object(Symfon\
y\Component\Console\Input\ArgvInput), Object(Consolidation\AnnotatedCommand\AnnotationData))
#9 /home/XXXXXX/YYYYYYY/vendor/consolidation/annotated-command/src/CommandProcessor.php(145): Consolidation\AnnotatedCommand\Hooks\Dispatchers\InitializeHookDispatcher->initialize(Object(Symfony\Component\Console\Input\ArgvInput), Object(Consolidation\Annotate\
dCommand\AnnotationData))
#10 /home/XXXXXX/YYYYYYY/vendor/consolidation/annotated-command/src/AnnotatedCommand.php(335): Consolidation\AnnotatedCommand\CommandProcessor->initializeHook(Object(Symfony\Component\Console\Input\ArgvInput), Array, Object(Consolidation\AnnotatedCommand\Annot\
ationData))
#11 /home/XXXXXX/YYYYYYY/vendor/symfony/console/Command/Command.php(221): Consolidation\AnnotatedCommand\AnnotatedCommand->initialize(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /home/XXXXXX/YYYYYYY/vendor/symfony/console/Application.php(1027): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /home/XXXXXX/YYYYYYY/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(Consolidation\AnnotatedCommand\AnnotatedCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Conso\
le\Output\ConsoleOutput))
#14 /home/XXXXXX/YYYYYYY/vendor/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /home/XXXXXX/YYYYYYY/vendor/drush/drush/src/Runtime/Runtime.php(124): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /home/XXXXXX/YYYYYYY/vendor/drush/drush/src/Runtime/Runtime.php(51): Drush\Runtime\Runtime->doRun(Array, Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /home/XXXXXX/YYYYYYY/vendor/drush/drush/drush.php(72): Drush\Runtime\Runtime->run(Array)
#18 /home/XXXXXX/YYYYYYY/vendor/drush/drush/drush(3): require('/home/XXXXXX/...')
#19 /home/XXXXXX/YYYYYYY/vendor/bin/drush(115): include('/home/XXXXXX/...')
#20 {main}