From f31c211463b9f9f4b06c7c422e381402fa1d9732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=27Guessan=20Kouadio=20Elis=C3=A9e?= Date: Sun, 31 Oct 2021 15:52:11 +0000 Subject: [PATCH] fix: set database driver in querybuilder class --- core/Database/QueryBuilder.php | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/core/Database/QueryBuilder.php b/core/Database/QueryBuilder.php index ed470177..2997b5ae 100644 --- a/core/Database/QueryBuilder.php +++ b/core/Database/QueryBuilder.php @@ -22,14 +22,19 @@ class QueryBuilder protected static function setTable(string $name) { + if (config('app.env') === 'test') { + if (config('testing.database.driver') === 'sqlite') { + return config('database.table_prefix') . $name; + } + + return config('database.name') .config('testing.database.suffix') . '.' . config('database.table_prefix') . $name; + } + if (config('database.driver') === 'sqlite') { return config('database.table_prefix') . $name; } - $db = config('app.env') !== 'test' ? config('database.name') - : config('database.name') . config('testing.database.suffix'); - - return $db . '.' . config('database.table_prefix') . $name; + return config('database.name') . '.' . config('database.table_prefix') . $name; } public static function table(string $name): self @@ -195,8 +200,10 @@ public function column(string $name, string $type): self public function autoIncrement(): self { + $driver = config('app.env') === 'test' ? $driver = config('testing.database.driver') : config('database.driver'); + self::$query = rtrim(self::$query, ', '); - self::$query .= config('database.driver') === 'mysql' ? ' AUTO_INCREMENT, ' : ' AUTOINCREMENT, '; + self::$query .= $driver === 'mysql' ? ' AUTO_INCREMENT, ' : ' AUTOINCREMENT, '; return $this; } @@ -270,8 +277,10 @@ public function onDeleteSetNull(): self */ public function migrate() { + $driver = config('app.env') === 'test' ? $driver = config('testing.database.driver') : config('database.driver'); + if (config('database.timestamps')) { - if (config('database.driver') === 'mysql') { + if ($driver === 'mysql') { self::$query .= " created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP)"; } else { self::$query .= " created_at TIMESTAMP NOT NULL DEFAULT (datetime(CURRENT_TIMESTAMP, 'localtime')), updated_at TIMESTAMP NOT NULL DEFAULT (datetime(CURRENT_TIMESTAMP, 'localtime')))"; @@ -280,7 +289,7 @@ public function migrate() if (self::$query[-1] !== ')') self::$query .= ')'; - if (config('database.driver') === 'mysql') { + if ($driver === 'mysql') { self::$query .= " ENGINE='" . config('database.mysql.engine') . "'"; }