From d4cfe40d51b3fca9f53f634b655f742a6122473f Mon Sep 17 00:00:00 2001 From: Teo Miscia Date: Sat, 6 Feb 2021 16:58:33 +0100 Subject: [PATCH] Check DB existsance as config --- assets/config.php | 1 + src/TenantDatabaseManagers/MySQLDatabaseManager.php | 2 +- src/TenantDatabaseManagers/PostgreSQLDatabaseManager.php | 2 +- src/TenantDatabaseManagers/PostgreSQLSchemaManager.php | 2 +- src/TenantDatabaseManagers/SQLiteDatabaseManager.php | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/assets/config.php b/assets/config.php index e89c6c9d..1ec2b9d6 100644 --- a/assets/config.php +++ b/assets/config.php @@ -39,6 +39,7 @@ return [ * Database tenancy config. Used by DatabaseTenancyBootstrapper. */ 'database' => [ + 'check_db_exists' => true, 'central_connection' => env('DB_CONNECTION', 'central'), /** diff --git a/src/TenantDatabaseManagers/MySQLDatabaseManager.php b/src/TenantDatabaseManagers/MySQLDatabaseManager.php index 9d860fd3..de2ca673 100644 --- a/src/TenantDatabaseManagers/MySQLDatabaseManager.php +++ b/src/TenantDatabaseManagers/MySQLDatabaseManager.php @@ -45,7 +45,7 @@ class MySQLDatabaseManager implements TenantDatabaseManager public function databaseExists(string $name): bool { - return (bool) $this->database()->select("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '$name'"); + return config('tenancy.database.check_db_exists') ? (bool) $this->database()->select("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '$name'") : true; } public function makeConnectionConfig(array $baseConfig, string $databaseName): array diff --git a/src/TenantDatabaseManagers/PostgreSQLDatabaseManager.php b/src/TenantDatabaseManagers/PostgreSQLDatabaseManager.php index 680fcdc7..65a91c90 100644 --- a/src/TenantDatabaseManagers/PostgreSQLDatabaseManager.php +++ b/src/TenantDatabaseManagers/PostgreSQLDatabaseManager.php @@ -41,7 +41,7 @@ class PostgreSQLDatabaseManager implements TenantDatabaseManager public function databaseExists(string $name): bool { - return (bool) $this->database()->select("SELECT datname FROM pg_database WHERE datname = '$name'"); + return config('tenancy.database.check_db_exists') ? (bool)$this->database()->select("SELECT datname FROM pg_database WHERE datname = '$name'") : true; } public function makeConnectionConfig(array $baseConfig, string $databaseName): array diff --git a/src/TenantDatabaseManagers/PostgreSQLSchemaManager.php b/src/TenantDatabaseManagers/PostgreSQLSchemaManager.php index 9d815b25..8adc56d9 100644 --- a/src/TenantDatabaseManagers/PostgreSQLSchemaManager.php +++ b/src/TenantDatabaseManagers/PostgreSQLSchemaManager.php @@ -41,7 +41,7 @@ class PostgreSQLSchemaManager implements TenantDatabaseManager public function databaseExists(string $name): bool { - return (bool) $this->database()->select("SELECT schema_name FROM information_schema.schemata WHERE schema_name = '$name'"); + return config('tenancy.database.check_db_exists') ? (bool) $this->database()->select("SELECT schema_name FROM information_schema.schemata WHERE schema_name = '$name'") : true; } public function makeConnectionConfig(array $baseConfig, string $databaseName): array diff --git a/src/TenantDatabaseManagers/SQLiteDatabaseManager.php b/src/TenantDatabaseManagers/SQLiteDatabaseManager.php index 1b73f250..4a2200d3 100644 --- a/src/TenantDatabaseManagers/SQLiteDatabaseManager.php +++ b/src/TenantDatabaseManagers/SQLiteDatabaseManager.php @@ -29,7 +29,7 @@ class SQLiteDatabaseManager implements TenantDatabaseManager public function databaseExists(string $name): bool { - return file_exists(database_path($name)); + return config('tenancy.database.check_db_exists') ? file_exists(database_path($name)) : true; } public function makeConnectionConfig(array $baseConfig, string $databaseName): array