From 482d9b808e22241d500bc5174c9a1e1123555fa2 Mon Sep 17 00:00:00 2001 From: Mohamed Said Date: Sat, 17 Jun 2017 01:11:14 +0200 Subject: [PATCH 1/4] fix droping tables for sqlite inmemory --- .../Database/Schema/SQLiteBuilder.php | 18 ++++++++++++++++++ src/Illuminate/Foundation/Application.php | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/Illuminate/Database/Schema/SQLiteBuilder.php b/src/Illuminate/Database/Schema/SQLiteBuilder.php index 30af7fd150d8..499fbb8cc842 100644 --- a/src/Illuminate/Database/Schema/SQLiteBuilder.php +++ b/src/Illuminate/Database/Schema/SQLiteBuilder.php @@ -10,6 +10,24 @@ class SQLiteBuilder extends Builder * @return void */ public function dropAllTables() + { + if ($this->connection->getDatabaseName() != ':memory:') { + return $this->deleteDatabaseFile(); + } + + $this->connection->select($this->grammar->compileEnableWriteableSchema()); + + $this->connection->select($this->grammar->compileDropAllTables()); + + $this->connection->select($this->grammar->compileDisableWriteableSchema()); + } + + /** + * Delete the database file. + * + * @return void + */ + public function deleteDatabaseFile() { unlink($this->connection->getDatabaseName()); diff --git a/src/Illuminate/Foundation/Application.php b/src/Illuminate/Foundation/Application.php index feffe447dd34..c988bdf56a1a 100755 --- a/src/Illuminate/Foundation/Application.php +++ b/src/Illuminate/Foundation/Application.php @@ -552,7 +552,7 @@ public function registerConfiguredProviders() $providers = $this->make(PackageManifest::class)->providers(); (new ProviderRepository($this, new Filesystem, $this->getCachedServicesPath())) - ->load(array_merge($providers, $this->config['app.providers'])); + ->load(array_merge($this->config['app.providers'], $providers)); } /** From c022b09109315f37ef0f4fe18676262345633559 Mon Sep 17 00:00:00 2001 From: Mohamed Said Date: Sat, 17 Jun 2017 01:12:26 +0200 Subject: [PATCH 2/4] revert --- src/Illuminate/Foundation/Application.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Illuminate/Foundation/Application.php b/src/Illuminate/Foundation/Application.php index c988bdf56a1a..feffe447dd34 100755 --- a/src/Illuminate/Foundation/Application.php +++ b/src/Illuminate/Foundation/Application.php @@ -552,7 +552,7 @@ public function registerConfiguredProviders() $providers = $this->make(PackageManifest::class)->providers(); (new ProviderRepository($this, new Filesystem, $this->getCachedServicesPath())) - ->load(array_merge($this->config['app.providers'], $providers)); + ->load(array_merge($providers, $this->config['app.providers'])); } /** From 1a5da1b1a21df19b58376d6cfd7a5d9768f8432b Mon Sep 17 00:00:00 2001 From: Mohamed Said Date: Sat, 17 Jun 2017 02:17:22 +0200 Subject: [PATCH 3/4] rename method --- src/Illuminate/Database/Schema/SQLiteBuilder.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Database/Schema/SQLiteBuilder.php b/src/Illuminate/Database/Schema/SQLiteBuilder.php index 499fbb8cc842..cbc856dd2f0d 100644 --- a/src/Illuminate/Database/Schema/SQLiteBuilder.php +++ b/src/Illuminate/Database/Schema/SQLiteBuilder.php @@ -12,7 +12,7 @@ class SQLiteBuilder extends Builder public function dropAllTables() { if ($this->connection->getDatabaseName() != ':memory:') { - return $this->deleteDatabaseFile(); + return $this->refreshDatabaseFile(); } $this->connection->select($this->grammar->compileEnableWriteableSchema()); @@ -27,7 +27,7 @@ public function dropAllTables() * * @return void */ - public function deleteDatabaseFile() + public function refreshDatabaseFile() { unlink($this->connection->getDatabaseName()); From c3d3464024e39b65c2c1df744224361eb49dbdad Mon Sep 17 00:00:00 2001 From: Mohamed Said Date: Sat, 17 Jun 2017 02:17:38 +0200 Subject: [PATCH 4/4] update docblock --- src/Illuminate/Database/Schema/SQLiteBuilder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Illuminate/Database/Schema/SQLiteBuilder.php b/src/Illuminate/Database/Schema/SQLiteBuilder.php index cbc856dd2f0d..eacb0b87fbd1 100644 --- a/src/Illuminate/Database/Schema/SQLiteBuilder.php +++ b/src/Illuminate/Database/Schema/SQLiteBuilder.php @@ -23,7 +23,7 @@ public function dropAllTables() } /** - * Delete the database file. + * Delete the database file & re-create it. * * @return void */