Skip to content

Commit 8a2f86b

Browse files
committed
fix: correct environment variable check in BaseCliCommand
- Check both PDODB_DATABASE and PDODB_USERNAME for MySQL/MariaDB/PostgreSQL/MSSQL instead of checking DB_NAME variable - This ensures examples config is loaded when PDODB_* variables are not set, allowing getExampleConfig() to handle CI variables (DB_*) inside config files - Fixes MariaDB example failure where examples/config.mariadb.php was not loaded because DB_NAME was checked instead of PDODB_DATABASE
1 parent 4cef0f3 commit 8a2f86b

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/cli/BaseCliCommand.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,17 @@ protected static function loadDatabaseConfig(): array
2929

3030
// Try examples config first (for testing/examples) - this takes precedence
3131
// because examples need to use the same config file that createExampleDb() uses
32-
// But skip if environment variables are explicitly set (CI or user override)
32+
// But skip if PDODB_* environment variables are explicitly set (CI or user override)
33+
// Note: We check PDODB_* variables, not DB_* variables, because examples set PDODB_* from getExampleConfig()
3334
$hasEnvConfig = false;
3435
if ($driver === 'sqlite') {
3536
$hasEnvConfig = getenv('PDODB_PATH') !== false;
3637
} elseif ($driver === 'mysql' || $driver === 'mariadb') {
37-
$hasEnvConfig = getenv('PDODB_DATABASE') !== false || getenv('DB_NAME') !== false;
38+
$hasEnvConfig = getenv('PDODB_DATABASE') !== false && getenv('PDODB_USERNAME') !== false;
3839
} elseif ($driver === 'pgsql') {
39-
$hasEnvConfig = getenv('PDODB_DATABASE') !== false;
40+
$hasEnvConfig = getenv('PDODB_DATABASE') !== false && getenv('PDODB_USERNAME') !== false;
4041
} elseif ($driver === 'sqlsrv') {
41-
$hasEnvConfig = getenv('PDODB_DATABASE') !== false || getenv('DB_NAME') !== false;
42+
$hasEnvConfig = getenv('PDODB_DATABASE') !== false && getenv('PDODB_USERNAME') !== false;
4243
}
4344

4445
if ($driver !== '' && !$hasEnvConfig) {

0 commit comments

Comments
 (0)