From e9ed32de7af6a92287732cf57a495e2c0a1adf0d Mon Sep 17 00:00:00 2001 From: Maxim Smakouz Date: Tue, 12 Dec 2023 18:20:35 +0200 Subject: [PATCH] Add environment variables, remove unused bootloaders from kernel (#141) --- .../resources/app/src/Application/Kernel.php | 12 ----------- .../Application/Common/resources/phpunit.xml | 3 +++ .../Module/CycleBridge/Generator/Env.php | 2 ++ .../CycleBridge/resources/config/database.php | 20 +++++++++++++++---- installer/Tests/Module/CycleBridge.php | 4 +++- 5 files changed, 24 insertions(+), 17 deletions(-) diff --git a/installer/Application/Common/resources/app/src/Application/Kernel.php b/installer/Application/Common/resources/app/src/Application/Kernel.php index 1906ba4..d3bd603 100644 --- a/installer/Application/Common/resources/app/src/Application/Kernel.php +++ b/installer/Application/Common/resources/app/src/Application/Kernel.php @@ -10,17 +10,11 @@ use Spiral\Monolog\Bootloader\MonologBootloader; use Spiral\Nyholm\Bootloader\NyholmBootloader; use Spiral\Prototype\Bootloader\PrototypeBootloader; -use Spiral\RoadRunnerBridge\Bootloader as RoadRunnerBridge; use Spiral\Scaffolder\Bootloader\ScaffolderBootloader; use Spiral\Tokenizer\Bootloader\TokenizerListenerBootloader; -use Spiral\YiiErrorHandler\Bootloader\YiiErrorHandlerBootloader; class Kernel extends \Spiral\Framework\Kernel { - protected const SYSTEM = []; - protected const LOAD = []; - protected const APP = []; - public function defineSystemBootloaders(): array { return [ @@ -35,16 +29,11 @@ public function defineBootloaders(): array return [ // Logging and exceptions handling MonologBootloader::class, - YiiErrorHandlerBootloader::class, Bootloader\ExceptionHandlerBootloader::class, // Application specific logs Bootloader\LoggingBootloader::class, - // RoadRunner - RoadRunnerBridge\LoggerBootloader::class, - RoadRunnerBridge\HttpBootloader::class, - // Core Services Framework\SnapshotsBootloader::class, @@ -65,7 +54,6 @@ public function defineBootloaders(): array // Console commands Framework\CommandBootloader::class, - RoadRunnerBridge\CommandBootloader::class, ScaffolderBootloader::class, // Configure route groups, middleware for route groups diff --git a/installer/Application/Common/resources/phpunit.xml b/installer/Application/Common/resources/phpunit.xml index 685fe15..14b73a6 100644 --- a/installer/Application/Common/resources/phpunit.xml +++ b/installer/Application/Common/resources/phpunit.xml @@ -27,11 +27,14 @@ + + + diff --git a/installer/Module/CycleBridge/Generator/Env.php b/installer/Module/CycleBridge/Generator/Env.php index 0f745b3..3802cf3 100644 --- a/installer/Module/CycleBridge/Generator/Env.php +++ b/installer/Module/CycleBridge/Generator/Env.php @@ -31,6 +31,8 @@ public function process(Context $context): void $context->envConfigurator->addGroup( values: [ 'DB_CONNECTION' => 'sqlite', + 'DB_LOG_QUERY_PARAMETERS' => false, + 'DB_WITH_DATETIME_MICROSECONDS' => false, ], comment: 'Database', priority: 13, diff --git a/installer/Module/CycleBridge/resources/config/database.php b/installer/Module/CycleBridge/resources/config/database.php index 02ecc6d..6d59357 100644 --- a/installer/Module/CycleBridge/resources/config/database.php +++ b/installer/Module/CycleBridge/resources/config/database.php @@ -52,7 +52,11 @@ 'drivers' => [ 'sqlite' => new Config\SQLiteDriverConfig( connection: new Config\SQLite\MemoryConnectionConfig(), - queryCache: true + queryCache: env('DB_QUERY_CACHE', true), + options: [ + 'logQueryParameters' => env('DB_LOG_QUERY_PARAMETERS', false), + 'withDatetimeMicroseconds' => env('DB_WITH_DATETIME_MICROSECONDS', false), + ], ), 'pgsql' => new Config\PostgresDriverConfig( connection: new Config\Postgres\TcpConnectionConfig( @@ -62,8 +66,12 @@ user: env('DB_USERNAME', 'postgres'), password: env('DB_PASSWORD', ''), ), - schema: 'public', - queryCache: true, + schema: env('DB_SCHEMA', 'public'), + queryCache: env('DB_QUERY_CACHE', true), + options: [ + 'logQueryParameters' => env('DB_LOG_QUERY_PARAMETERS', false), + 'withDatetimeMicroseconds' => env('DB_WITH_DATETIME_MICROSECONDS', false), + ], ), 'mysql' => new Config\MySQLDriverConfig( connection: new Config\MySQL\TcpConnectionConfig( @@ -73,7 +81,11 @@ user: env('DB_USERNAME', 'root'), password: env('DB_PASSWORD', ''), ), - queryCache: true, + queryCache: env('DB_QUERY_CACHE', true), + options: [ + 'logQueryParameters' => env('DB_LOG_QUERY_PARAMETERS', false), + 'withDatetimeMicroseconds' => env('DB_WITH_DATETIME_MICROSECONDS', false), + ], ), // ... ], diff --git a/installer/Tests/Module/CycleBridge.php b/installer/Tests/Module/CycleBridge.php index bece987..2084705 100644 --- a/installer/Tests/Module/CycleBridge.php +++ b/installer/Tests/Module/CycleBridge.php @@ -46,7 +46,9 @@ public function getEnvironmentVariables(ApplicationInterface $application): arra 'SAFE_MIGRATIONS' => true, 'CYCLE_SCHEMA_CACHE' => false, 'CYCLE_SCHEMA_WARMUP' => false, - 'DB_CONNECTION' => 'sqlite' + 'DB_CONNECTION' => 'sqlite', + 'DB_LOG_QUERY_PARAMETERS' => false, + 'DB_WITH_DATETIME_MICROSECONDS' => false, ]; } }