firefly-iii / firefly-iii

Firefly III: a personal finances manager
https://firefly-iii.org/
GNU Affero General Public License v3.0
16.03k stars 1.45k forks source link

could not find driver (Connection: mysql) when using pgsql #7208

Closed Dual-0 closed 1 year ago

Dual-0 commented 1 year ago

Support guidelines

I've found a bug and checked that ...

Description

Hello,

I try to upgrade / reinstall Firefly III via composer. Error: could not find driver (Connection: mysql, SQL: delete fromconfigurationwherename= upgrade_security_message) I want to use PHP 8.2 and the pgsql module for the DB connect.

Thanks in advance

Debug information

root@instance:/var/www/firefly-iii# composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist /var/www/firefly-iii/6.0.2/ 6.0.2
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Creating a "grumpydictator/firefly-iii" project at "./6.0.2"
Info from https://repo.packagist.org: #StandWithUkraine
Installing grumpydictator/firefly-iii (v6.0.2)
  - Installing grumpydictator/firefly-iii (v6.0.2): Extracting archive
Created project in /var/www/firefly-iii/6.0.2/
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
> @php -r "if (!(getenv('DYNO'))===false){file_exists('.env') || copy('.deploy/heroku/.env.heroku', '.env');copy('.deploy/heroku/.locales', '.locales');}"
Installing dependencies from lock file
Verifying lock file contents can be installed on current platform.
Package operations: 116 installs, 0 updates, 0 removals
  - Installing dasprid/enum (1.0.4): Extracting archive
  - Installing voku/portable-ascii (2.0.1): Extracting archive
  - Installing symfony/polyfill-php80 (v1.27.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.27.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.27.0): Extracting archive
  - Installing phpoption/phpoption (1.9.1): Extracting archive
  - Installing graham-campbell/result-type (v1.1.1): Extracting archive
  - Installing vlucas/phpdotenv (v5.5.0): Extracting archive
  - Installing symfony/css-selector (v6.2.7): Extracting archive
  - Installing tijsverkoyen/css-to-inline-styles (2.2.6): Extracting archive
  - Installing symfony/var-dumper (v6.2.7): Extracting archive
  - Installing symfony/polyfill-uuid (v1.27.0): Extracting archive
  - Installing symfony/uid (v6.2.7): Extracting archive
  - Installing symfony/routing (v6.2.7): Extracting archive
  - Installing symfony/process (v6.2.7): Extracting archive
  - Installing symfony/polyfill-php72 (v1.27.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.27.0): Extracting archive
  - Installing symfony/polyfill-intl-idn (v1.27.0): Extracting archive
  - Installing symfony/mime (v6.2.7): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.2.1): Extracting archive
  - Installing psr/event-dispatcher (1.0.0): Extracting archive
  - Installing symfony/event-dispatcher-contracts (v3.2.1): Extracting archive
  - Installing symfony/event-dispatcher (v6.2.7): Extracting archive
  - Installing psr/log (3.0.0): Extracting archive
  - Installing doctrine/lexer (3.0.0): Extracting archive
  - Installing egulias/email-validator (4.0.1): Extracting archive
  - Installing symfony/mailer (v6.2.7): Extracting archive
  - Installing symfony/deprecation-contracts (v3.2.1): Extracting archive
  - Installing symfony/http-foundation (v6.2.7): Extracting archive
  - Installing symfony/error-handler (v6.2.7): Extracting archive
  - Installing symfony/http-kernel (v6.2.7): Extracting archive
  - Installing symfony/finder (v6.2.7): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.27.0): Extracting archive
  - Installing symfony/string (v6.2.7): Extracting archive
  - Installing symfony/console (v6.2.7): Extracting archive
  - Installing ramsey/collection (2.0.0): Extracting archive
  - Installing brick/math (0.10.2): Extracting archive
  - Installing ramsey/uuid (4.7.3): Extracting archive
  - Installing psr/simple-cache (3.0.0): Extracting archive
  - Installing nunomaduro/termwind (v1.15.1): Extracting archive
  - Installing symfony/translation-contracts (v3.2.1): Extracting archive
  - Installing symfony/translation (v6.2.7): Extracting archive
  - Installing nesbot/carbon (2.66.0): Extracting archive
  - Installing monolog/monolog (3.3.1): Extracting archive
  - Installing league/mime-type-detection (1.11.0): Extracting archive
  - Installing league/flysystem (3.12.3): Extracting archive
  - Installing nette/utils (v4.0.0): Extracting archive
  - Installing nette/schema (v1.2.3): Extracting archive
  - Installing dflydev/dot-access-data (v3.0.2): Extracting archive
  - Installing league/config (v1.2.0): Extracting archive
  - Installing league/commonmark (2.3.9): Extracting archive
  - Installing laravel/serializable-closure (v1.3.0): Extracting archive
  - Installing guzzlehttp/uri-template (v1.0.1): Extracting archive
  - Installing fruitcake/php-cors (v1.2.0): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing dragonmantank/cron-expression (v3.3.2): Extracting archive
  - Installing doctrine/inflector (2.0.6): Extracting archive
  - Installing laravel/framework (v10.3.3): Extracting archive
  - Installing facade/ignition-contracts (1.0.2): Extracting archive
  - Installing diglactic/laravel-breadcrumbs (v8.1.0): Extracting archive
  - Installing psr/cache (3.0.0): Extracting archive
  - Installing doctrine/event-manager (2.0.0): Extracting archive
  - Installing doctrine/deprecations (v1.0.0): Extracting archive
  - Installing doctrine/cache (2.2.0): Extracting archive
  - Installing doctrine/dbal (3.6.1): Extracting archive
  - Installing gdbots/query-parser (v3.0.0): Extracting archive
  - Installing guzzlehttp/promises (1.5.2): Extracting archive
  - Installing ralouphie/getallheaders (3.0.3): Extracting archive
  - Installing psr/http-message (1.0.1): Extracting archive
  - Installing psr/http-factory (1.0.1): Extracting archive
  - Installing guzzlehttp/psr7 (2.4.4): Extracting archive
  - Installing paragonie/constant_time_encoding (v2.6.3): Extracting archive
  - Installing pragmarx/google2fa (v8.0.1): Extracting archive
  - Installing bacon/bacon-qr-code (2.0.8): Extracting archive
  - Installing pragmarx/google2fa-qrcode (v1.0.3): Extracting archive
  - Installing jc5/google2fa-laravel (v2.0.8): Extracting archive
  - Installing pragmarx/random (v0.2.2): Extracting archive
  - Installing jc5/recovery (v2.2.0): Extracting archive
  - Installing symfony/psr-http-message-bridge (v2.1.4): Extracting archive
  - Installing paragonie/random_compat (v9.99.100): Extracting archive
  - Installing phpseclib/phpseclib (3.0.19): Extracting archive
  - Installing php-http/message-factory (v1.0.2): Extracting archive
  - Installing nyholm/psr7 (1.5.1): Extracting archive
  - Installing league/uri-interfaces (2.3.0): Extracting archive
  - Installing league/uri (6.8.0): Extracting archive
  - Installing league/event (2.2.0): Extracting archive
  - Installing psr/clock (1.0.0): Extracting archive
  - Installing lcobucci/clock (3.0.0): Extracting archive
  - Installing lcobucci/jwt (4.3.0): Extracting archive
  - Installing defuse/php-encryption (v2.3.1): Extracting archive
  - Installing league/oauth2-server (8.4.0): Extracting archive
  - Installing firebase/php-jwt (v6.4.0): Extracting archive
  - Installing laravel/passport (v11.8.3): Extracting archive
  - Installing laravel/sanctum (v3.2.1): Extracting archive
  - Installing psr/http-client (1.0.1): Extracting archive
  - Installing guzzlehttp/guzzle (7.5.0): Extracting archive
  - Installing laravel/slack-notification-channel (v2.5.0): Extracting archive
  - Installing laravel/ui (v4.2.1): Extracting archive
  - Installing laravelcollective/html (v6.4.0): Extracting archive
  - Installing league/csv (9.8.0): Extracting archive
  - Installing league/fractal (0.20.1): Extracting archive
  - Installing filp/whoops (2.15.1): Extracting archive
  - Installing nunomaduro/collision (v7.1.0): Extracting archive
  - Installing predis/predis (v2.1.2): Extracting archive
  - Installing twig/twig (v3.5.1): Extracting archive
  - Installing rcrowe/twigbridge (v0.14.1): Extracting archive
  - Installing spatie/backtrace (1.4.0): Extracting archive
  - Installing spatie/flare-client-php (1.3.5): Extracting archive
  - Installing spatie/ignition (1.4.5): Extracting archive
  - Installing spatie/laravel-ignition (2.0.0): Extracting archive
  - Installing symfony/http-client-contracts (v3.2.1): Extracting archive
  - Installing symfony/http-client (v6.2.7): Extracting archive
  - Installing symfony/mailgun-mailer (v6.2.7): Extracting archive
  - Installing mailchimp/transactional (1.0.50): Extracting archive
  - Installing therobfonz/laravel-mandrill-driver (5.0.0): Extracting archive
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
73 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan firefly:instructions install
+------------------------------------------------------------------------------+
|                                                                              |
| Thank you for installing Firefly III, v6.0.2!                                |
|                                                                              |
|                                                                              |
+------------------------------------------------------------------------------+
> @php artisan firefly-iii:verify-security-alerts
[2023-03-12 10:05:44] local.ERROR: Exception is: {"class":"Illuminate\\Database\\QueryException","errorMessage":"could not find driver (Connection: mysql, SQL: delete from `configuration` where `name` = upgrade_security_message)","time":"Sun, 12 Mar 2023 10:05:44 +0100","file":"\/var\/www\/firefly-iii\/6.0.2\/vendor\/laravel\/framework\/src\/Illuminate\/Database\/Connection.php","line":760,"code":0,"version":"6.0.2","url":"http:\/\/localhost","userAgent":"Symfony","json":true,"method":"GET"}
[2023-03-12 10:05:44] local.WARNING: [Bcc] Could not email or log the error. Please validate your email settings, use the .env.example file as a guide.
[2023-03-12 10:05:44] local.ERROR: could not find driver (Connection: mysql, SQL: delete from `configuration` where `name` = upgrade_security_message) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 0): could not find driver (Connection: mysql, SQL: delete from `configuration` where `name` = upgrade_security_message) at /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connection.php:760)
[stacktrace]
#0 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connection.php(720): Illuminate\\Database\\Connection->runQueryCallback()
#1 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connection.php(558): Illuminate\\Database\\Connection->run()
#2 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connection.php(522): Illuminate\\Database\\Connection->affectingStatement()
#3 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3567): Illuminate\\Database\\Connection->delete()
#4 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1233): Illuminate\\Database\\Query\\Builder->delete()
#5 /var/www/firefly-iii/6.0.2/app/Support/FireflyConfig.php(49): Illuminate\\Database\\Eloquent\\Builder->forceDelete()
#6 /var/www/firefly-iii/6.0.2/app/Console/Commands/VerifySecurityAlerts.php(59): FireflyIII\\Support\\FireflyConfig->delete()
#7 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): FireflyIII\\Console\\Commands\\VerifySecurityAlerts->handle()
#8 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#9 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
#10 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
#11 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Container/Container.php(661): Illuminate\\Container\\BoundMethod::call()
#12 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Console/Command.php(194): Illuminate\\Container\\Container->call()
#13 /var/www/firefly-iii/6.0.2/vendor/symfony/console/Command/Command.php(312): Illuminate\\Console\\Command->execute()
#14 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Console/Command.php(163): Symfony\\Component\\Console\\Command\\Command->run()
#15 /var/www/firefly-iii/6.0.2/vendor/symfony/console/Application.php(1022): Illuminate\\Console\\Command->run()
#16 /var/www/firefly-iii/6.0.2/vendor/symfony/console/Application.php(314): Symfony\\Component\\Console\\Application->doRunCommand()
#17 /var/www/firefly-iii/6.0.2/vendor/symfony/console/Application.php(168): Symfony\\Component\\Console\\Application->doRun()
#18 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Console/Application.php(102): Symfony\\Component\\Console\\Application->run()
#19 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(155): Illuminate\\Console\\Application->run()
#20 /var/www/firefly-iii/6.0.2/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle()
#21 {main}

[previous exception] [object] (PDOException(code: 0): could not find driver at /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:65)
[stacktrace]
#0 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(65): PDO->__construct()
#1 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(44): Illuminate\\Database\\Connectors\\Connector->createPdoConnection()
#2 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php(24): Illuminate\\Database\\Connectors\\Connector->createConnection()
#3 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(184): Illuminate\\Database\\Connectors\\MySqlConnector->connect()
#4 [internal function]: Illuminate\\Database\\Connectors\\ConnectionFactory->Illuminate\\Database\\Connectors\\{closure}()
#5 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1177): call_user_func()
#6 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connection.php(566): Illuminate\\Database\\Connection->getPdo()
#7 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connection.php(753): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}()
#8 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connection.php(720): Illuminate\\Database\\Connection->runQueryCallback()
#9 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connection.php(558): Illuminate\\Database\\Connection->run()
#10 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Connection.php(522): Illuminate\\Database\\Connection->affectingStatement()
#11 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3567): Illuminate\\Database\\Connection->delete()
#12 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1233): Illuminate\\Database\\Query\\Builder->delete()
#13 /var/www/firefly-iii/6.0.2/app/Support/FireflyConfig.php(49): Illuminate\\Database\\Eloquent\\Builder->forceDelete()
#14 /var/www/firefly-iii/6.0.2/app/Console/Commands/VerifySecurityAlerts.php(59): FireflyIII\\Support\\FireflyConfig->delete()
#15 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): FireflyIII\\Console\\Commands\\VerifySecurityAlerts->handle()
#16 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#17 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
#18 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
#19 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Container/Container.php(661): Illuminate\\Container\\BoundMethod::call()
#20 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Console/Command.php(194): Illuminate\\Container\\Container->call()
#21 /var/www/firefly-iii/6.0.2/vendor/symfony/console/Command/Command.php(312): Illuminate\\Console\\Command->execute()
#22 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Console/Command.php(163): Symfony\\Component\\Console\\Command\\Command->run()
#23 /var/www/firefly-iii/6.0.2/vendor/symfony/console/Application.php(1022): Illuminate\\Console\\Command->run()
#24 /var/www/firefly-iii/6.0.2/vendor/symfony/console/Application.php(314): Symfony\\Component\\Console\\Application->doRunCommand()
#25 /var/www/firefly-iii/6.0.2/vendor/symfony/console/Application.php(168): Symfony\\Component\\Console\\Application->doRun()
#26 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Console/Application.php(102): Symfony\\Component\\Console\\Application->run()
#27 /var/www/firefly-iii/6.0.2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(155): Illuminate\\Console\\Application->run()
#28 /var/www/firefly-iii/6.0.2/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle()
#29 {main}
"}

   Illuminate\Database\QueryException

  could not find driver (Connection: mysql, SQL: delete from `configuration` where `name` = upgrade_security_message)

  at vendor/laravel/framework/src/Illuminate/Database/Connection.php:760
    756▕         // If an exception occurs when attempting to run a query, we'll format the error
    757▕         // message to include the bindings with SQL, which will make this exception a
    758▕         // lot more helpful to the developer instead of just the database's errors.
    759▕         catch (Exception $e) {
  ➜ 760▕             throw new QueryException(
    761▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
    762▕             );
    763▕         }
    764▕     }

      +14 vendor frames

  15  app/Support/FireflyConfig.php:49
      Illuminate\Database\Eloquent\Builder::forceDelete()

  16  app/Console/Commands/VerifySecurityAlerts.php:59
      FireflyIII\Support\FireflyConfig::delete()

Script @php artisan firefly-iii:verify-security-alerts handling the post-install-cmd event returned with error code 1

Expected behaviour

the error happened since 6.0.1

Steps to reproduce

composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist /var/www/firefly-iii/6.0.2/ 6.0.2

Additional info

composer: latest via github php_version: "8.2" php_modules:

JC5 commented 1 year ago

I'm aware of this, a fix will be part of 6.0.3. Thanks for reporting!

github-actions[bot] commented 1 year ago

Hi there! This is an automatic reply. Share and enjoy

This issue is now closed. Please be aware that closed issues are not actively monitored. If you reply, you may get no response.

Thank you for your consideration.