liip / LiipMonitorBundle

Integrates the LiipMonitor library into Symfony
http://liip.ch
467 stars 103 forks source link

bin/console list is triggering database connection when doctrine migrations check is enabled #259

Closed ostrolucky closed 3 years ago

ostrolucky commented 3 years ago

Following config works fine (not triggering database)

liip_monitor:
    enable_controller: true
    checks:
        php_version:
            '7.3': '>='

Following doesn't (tries to connect to database)

liip_monitor:
    enable_controller: true
    checks:
        php_version:
            '7.3': '>='
        doctrine_migrations:
            migrations_with_doctrine_bundle_v2: default
vagrant@shopping:/vagrant/partnerportal$ php bin/console -v
Symfony 4.4.19 (env: dev, debug: true)

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -e, --env=ENV         The Environment name. [default: "dev"]
      --no-debug        Switches off debug mode.
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

In AbstractMySQLDriver.php line 112:

  [Doctrine\DBAL\Exception\ConnectionException]
  An exception occurred in driver: SQLSTATE[HY000] [1049] Unknown database 'merchantcenter'

Exception trace:
  at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:112
 Doctrine\DBAL\Driver\AbstractMySQLDriver->convertException() at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:182
 Doctrine\DBAL\DBALException::wrapException() at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:169
 Doctrine\DBAL\DBALException::driverException() at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php:30
 Doctrine\DBAL\Driver\PDOMySql\Driver->connect() at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:362
 Doctrine\DBAL\Connection->connect() at /vagrant/partnerportal/vendor/doctrine/migrations/lib/Doctrine/DBAL/Migrations/Configuration/Configuration.php:931
 Doctrine\DBAL\Migrations\Configuration\Configuration->connect() at /vagrant/partnerportal/vendor/doctrine/migrations/lib/Doctrine/DBAL/Migrations/Configuration/Configuration.php:798
 Doctrine\DBAL\Migrations\Configuration\Configuration->createMigrationTable() at /vagrant/partnerportal/vendor/doctrine/migrations/lib/Doctrine/DBAL/Migrations/Configuration/Configuration.php:551
 Doctrine\DBAL\Migrations\Configuration\Configuration->getMigratedVersions() at /vagrant/partnerportal/vendor/laminas/laminas-diagnostics/src/Check/DoctrineMigration.php:54
 Laminas\Diagnostics\Check\DoctrineMigration->__construct() at /vagrant/partnerportal/vendor/liip/monitor-bundle/Check/DoctrineMigrationsCollection.php:56
 Liip\MonitorBundle\Check\DoctrineMigrationsCollection->getChecks() at /vagrant/partnerportal/vendor/laminas/laminas-diagnostics/src/Runner/Runner.php:246
 Laminas\Diagnostics\Runner\Runner->addChecks() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/getLiipMonitor_RunnerService.php:22
 ContainerQzAlb0f\srcApp_KernelDevDebugContainer->{closure}() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/getLiipMonitor_RunnerService.php:28
 require() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/srcApp_KernelDevDebugContainer.php:622
 ContainerQzAlb0f\srcApp_KernelDevDebugContainer->load() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/getLiipMonitor_ListChecks_CommandService.php:13
 require() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/srcApp_KernelDevDebugContainer.php:622
 ContainerQzAlb0f\srcApp_KernelDevDebugContainer->load() at /vagrant/partnerportal/vendor/symfony/dependency-injection/Container.php:450
 Symfony\Component\DependencyInjection\Container->getService() at /vagrant/partnerportal/vendor/symfony/dependency-injection/Argument/ServiceLocator.php:42
 Symfony\Component\DependencyInjection\Argument\ServiceLocator->get() at /vagrant/partnerportal/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php:45
 Symfony\Component\Console\CommandLoader\ContainerCommandLoader->get() at /vagrant/partnerportal/vendor/symfony/console/Application.php:548
 Symfony\Component\Console\Application->has() at /vagrant/partnerportal/vendor/symfony/console/Application.php:750
 Symfony\Component\Console\Application->all() at /vagrant/partnerportal/vendor/symfony/framework-bundle/Console/Application.php:143
 Symfony\Bundle\FrameworkBundle\Console\Application->all() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/ApplicationDescription.php:91
 Symfony\Component\Console\Descriptor\ApplicationDescription->inspectApplication() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/ApplicationDescription.php:68
 Symfony\Component\Console\Descriptor\ApplicationDescription->getCommands() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/TextDescriptor.php:202
 Symfony\Component\Console\Descriptor\TextDescriptor->describeApplication() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/Descriptor.php:55
 Symfony\Component\Console\Descriptor\Descriptor->describe() at /vagrant/partnerportal/vendor/symfony/console/Helper/DescriptorHelper.php:67
 Symfony\Component\Console\Helper\DescriptorHelper->describe() at /vagrant/partnerportal/vendor/symfony/console/Command/ListCommand.php:75
 Symfony\Component\Console\Command\ListCommand->execute() at /vagrant/partnerportal/vendor/symfony/console/Command/Command.php:255
 Symfony\Component\Console\Command\Command->run() at /vagrant/partnerportal/vendor/symfony/console/Application.php:1027
 Symfony\Component\Console\Application->doRunCommand() at /vagrant/partnerportal/vendor/symfony/framework-bundle/Console/Application.php:100
 Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at /vagrant/partnerportal/vendor/symfony/console/Application.php:273
 Symfony\Component\Console\Application->doRun() at /vagrant/partnerportal/vendor/symfony/framework-bundle/Console/Application.php:83
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /vagrant/partnerportal/vendor/symfony/console/Application.php:149
 Symfony\Component\Console\Application->run() at /vagrant/partnerportal/bin/console:42

In Exception.php line 18:

  [Doctrine\DBAL\Driver\PDO\Exception (1049)]
  SQLSTATE[HY000] [1049] Unknown database 'merchantcenter'

Exception trace:
  at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18
 Doctrine\DBAL\Driver\PDO\Exception::new() at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:42
 Doctrine\DBAL\Driver\PDOConnection->__construct() at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php:24
 Doctrine\DBAL\Driver\PDOMySql\Driver->connect() at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:362
 Doctrine\DBAL\Connection->connect() at /vagrant/partnerportal/vendor/doctrine/migrations/lib/Doctrine/DBAL/Migrations/Configuration/Configuration.php:931
 Doctrine\DBAL\Migrations\Configuration\Configuration->connect() at /vagrant/partnerportal/vendor/doctrine/migrations/lib/Doctrine/DBAL/Migrations/Configuration/Configuration.php:798
 Doctrine\DBAL\Migrations\Configuration\Configuration->createMigrationTable() at /vagrant/partnerportal/vendor/doctrine/migrations/lib/Doctrine/DBAL/Migrations/Configuration/Configuration.php:551
 Doctrine\DBAL\Migrations\Configuration\Configuration->getMigratedVersions() at /vagrant/partnerportal/vendor/laminas/laminas-diagnostics/src/Check/DoctrineMigration.php:54
 Laminas\Diagnostics\Check\DoctrineMigration->__construct() at /vagrant/partnerportal/vendor/liip/monitor-bundle/Check/DoctrineMigrationsCollection.php:56
 Liip\MonitorBundle\Check\DoctrineMigrationsCollection->getChecks() at /vagrant/partnerportal/vendor/laminas/laminas-diagnostics/src/Runner/Runner.php:246
 Laminas\Diagnostics\Runner\Runner->addChecks() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/getLiipMonitor_RunnerService.php:22
 ContainerQzAlb0f\srcApp_KernelDevDebugContainer->{closure}() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/getLiipMonitor_RunnerService.php:28
 require() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/srcApp_KernelDevDebugContainer.php:622
 ContainerQzAlb0f\srcApp_KernelDevDebugContainer->load() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/getLiipMonitor_ListChecks_CommandService.php:13
 require() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/srcApp_KernelDevDebugContainer.php:622
 ContainerQzAlb0f\srcApp_KernelDevDebugContainer->load() at /vagrant/partnerportal/vendor/symfony/dependency-injection/Container.php:450
 Symfony\Component\DependencyInjection\Container->getService() at /vagrant/partnerportal/vendor/symfony/dependency-injection/Argument/ServiceLocator.php:42
 Symfony\Component\DependencyInjection\Argument\ServiceLocator->get() at /vagrant/partnerportal/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php:45
 Symfony\Component\Console\CommandLoader\ContainerCommandLoader->get() at /vagrant/partnerportal/vendor/symfony/console/Application.php:548
 Symfony\Component\Console\Application->has() at /vagrant/partnerportal/vendor/symfony/console/Application.php:750
 Symfony\Component\Console\Application->all() at /vagrant/partnerportal/vendor/symfony/framework-bundle/Console/Application.php:143
 Symfony\Bundle\FrameworkBundle\Console\Application->all() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/ApplicationDescription.php:91
 Symfony\Component\Console\Descriptor\ApplicationDescription->inspectApplication() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/ApplicationDescription.php:68
 Symfony\Component\Console\Descriptor\ApplicationDescription->getCommands() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/TextDescriptor.php:202
 Symfony\Component\Console\Descriptor\TextDescriptor->describeApplication() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/Descriptor.php:55
 Symfony\Component\Console\Descriptor\Descriptor->describe() at /vagrant/partnerportal/vendor/symfony/console/Helper/DescriptorHelper.php:67
 Symfony\Component\Console\Helper\DescriptorHelper->describe() at /vagrant/partnerportal/vendor/symfony/console/Command/ListCommand.php:75
 Symfony\Component\Console\Command\ListCommand->execute() at /vagrant/partnerportal/vendor/symfony/console/Command/Command.php:255
 Symfony\Component\Console\Command\Command->run() at /vagrant/partnerportal/vendor/symfony/console/Application.php:1027
 Symfony\Component\Console\Application->doRunCommand() at /vagrant/partnerportal/vendor/symfony/framework-bundle/Console/Application.php:100
 Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at /vagrant/partnerportal/vendor/symfony/console/Application.php:273
 Symfony\Component\Console\Application->doRun() at /vagrant/partnerportal/vendor/symfony/framework-bundle/Console/Application.php:83
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /vagrant/partnerportal/vendor/symfony/console/Application.php:149
 Symfony\Component\Console\Application->run() at /vagrant/partnerportal/bin/console:42

In PDOConnection.php line 38:

  [PDOException (1049)]
  SQLSTATE[HY000] [1049] Unknown database 'merchantcenter'

Exception trace:
  at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:38
 PDO->__construct() at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:38
 Doctrine\DBAL\Driver\PDOConnection->__construct() at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php:24
 Doctrine\DBAL\Driver\PDOMySql\Driver->connect() at /vagrant/partnerportal/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:362
 Doctrine\DBAL\Connection->connect() at /vagrant/partnerportal/vendor/doctrine/migrations/lib/Doctrine/DBAL/Migrations/Configuration/Configuration.php:931
 Doctrine\DBAL\Migrations\Configuration\Configuration->connect() at /vagrant/partnerportal/vendor/doctrine/migrations/lib/Doctrine/DBAL/Migrations/Configuration/Configuration.php:798
 Doctrine\DBAL\Migrations\Configuration\Configuration->createMigrationTable() at /vagrant/partnerportal/vendor/doctrine/migrations/lib/Doctrine/DBAL/Migrations/Configuration/Configuration.php:551
 Doctrine\DBAL\Migrations\Configuration\Configuration->getMigratedVersions() at /vagrant/partnerportal/vendor/laminas/laminas-diagnostics/src/Check/DoctrineMigration.php:54
 Laminas\Diagnostics\Check\DoctrineMigration->__construct() at /vagrant/partnerportal/vendor/liip/monitor-bundle/Check/DoctrineMigrationsCollection.php:56
 Liip\MonitorBundle\Check\DoctrineMigrationsCollection->getChecks() at /vagrant/partnerportal/vendor/laminas/laminas-diagnostics/src/Runner/Runner.php:246
 Laminas\Diagnostics\Runner\Runner->addChecks() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/getLiipMonitor_RunnerService.php:22
 ContainerQzAlb0f\srcApp_KernelDevDebugContainer->{closure}() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/getLiipMonitor_RunnerService.php:28
 require() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/srcApp_KernelDevDebugContainer.php:622
 ContainerQzAlb0f\srcApp_KernelDevDebugContainer->load() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/getLiipMonitor_ListChecks_CommandService.php:13
 require() at /vagrant/partnerportal/var/cache/dev/ContainerQzAlb0f/srcApp_KernelDevDebugContainer.php:622
 ContainerQzAlb0f\srcApp_KernelDevDebugContainer->load() at /vagrant/partnerportal/vendor/symfony/dependency-injection/Container.php:450
 Symfony\Component\DependencyInjection\Container->getService() at /vagrant/partnerportal/vendor/symfony/dependency-injection/Argument/ServiceLocator.php:42
 Symfony\Component\DependencyInjection\Argument\ServiceLocator->get() at /vagrant/partnerportal/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php:45
 Symfony\Component\Console\CommandLoader\ContainerCommandLoader->get() at /vagrant/partnerportal/vendor/symfony/console/Application.php:548
 Symfony\Component\Console\Application->has() at /vagrant/partnerportal/vendor/symfony/console/Application.php:750
 Symfony\Component\Console\Application->all() at /vagrant/partnerportal/vendor/symfony/framework-bundle/Console/Application.php:143
 Symfony\Bundle\FrameworkBundle\Console\Application->all() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/ApplicationDescription.php:91
 Symfony\Component\Console\Descriptor\ApplicationDescription->inspectApplication() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/ApplicationDescription.php:68
 Symfony\Component\Console\Descriptor\ApplicationDescription->getCommands() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/TextDescriptor.php:202
 Symfony\Component\Console\Descriptor\TextDescriptor->describeApplication() at /vagrant/partnerportal/vendor/symfony/console/Descriptor/Descriptor.php:55
 Symfony\Component\Console\Descriptor\Descriptor->describe() at /vagrant/partnerportal/vendor/symfony/console/Helper/DescriptorHelper.php:67
 Symfony\Component\Console\Helper\DescriptorHelper->describe() at /vagrant/partnerportal/vendor/symfony/console/Command/ListCommand.php:75
 Symfony\Component\Console\Command\ListCommand->execute() at /vagrant/partnerportal/vendor/symfony/console/Command/Command.php:255
 Symfony\Component\Console\Command\Command->run() at /vagrant/partnerportal/vendor/symfony/console/Application.php:1027
 Symfony\Component\Console\Application->doRunCommand() at /vagrant/partnerportal/vendor/symfony/framework-bundle/Console/Application.php:100
 Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at /vagrant/partnerportal/vendor/symfony/console/Application.php:273
 Symfony\Component\Console\Application->doRun() at /vagrant/partnerportal/vendor/symfony/framework-bundle/Console/Application.php:83
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /vagrant/partnerportal/vendor/symfony/console/Application.php:149
 Symfony\Component\Console\Application->run() at /vagrant/partnerportal/bin/console:42

list [--raw] [--format FORMAT] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] [<command> [<namespace>]]
kbond commented 3 years ago

Looks like the database is being connected to in Laminas\Diagnostics\Check\DoctrineMigration->__construct(). @cgrabenstein can you confirm? Possible to move the constructor code to the check method?

cgrabenstein commented 3 years ago

@kbond yes, seems like this is an oversight on my part. I will provide a fix that moves the constructor code into the check method.

kbond commented 3 years ago

Awesome, thanks @cgrabenstein!

cgrabenstein commented 3 years ago

PR created here: https://github.com/laminas/laminas-diagnostics/pull/20

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

ostrolucky commented 3 years ago

I guess issue here is not needed if referenced PR will solve it

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] commented 3 years ago

This issue has been automatically closed. Feel free to re-open if it is still relevant.

kbond commented 3 years ago

FYI, the upstream fix has been merged.