diff --git a/app/Space/EnvironmentManager.php b/app/Space/EnvironmentManager.php index 5795b922..24e5c905 100755 --- a/app/Space/EnvironmentManager.php +++ b/app/Space/EnvironmentManager.php @@ -7,6 +7,7 @@ use App\Http\Requests\DiskEnvironmentRequest; use App\Http\Requests\DomainEnvironmentRequest; use App\Http\Requests\MailEnvironmentRequest; use Exception; +use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; class EnvironmentManager @@ -149,7 +150,9 @@ class EnvironmentManager try { $this->checkDatabaseConnection($request); - + if ($request->get('database_overwrite')) { + Artisan::call('db:wipe --force'); + } if (\Schema::hasTable('users')) { return [ 'error' => 'database_should_be_empty', diff --git a/lang/en.json b/lang/en.json index fc7d30f9..58c95df4 100644 --- a/lang/en.json +++ b/lang/en.json @@ -1440,6 +1440,7 @@ "username": "Database Username", "db_name": "Database Name", "db_path": "Database Path", + "overwrite": "Overwrite existing database and proceed", "desc": "Create a database on your server and set the credentials using the form below." }, "permissions": { diff --git a/resources/scripts/admin/stores/installation.js b/resources/scripts/admin/stores/installation.js index 4554b63c..4d937df7 100644 --- a/resources/scripts/admin/stores/installation.js +++ b/resources/scripts/admin/stores/installation.js @@ -19,6 +19,7 @@ export const useInstallationStore = (useWindow = false) => { database_name: null, database_username: null, database_password: null, + database_overwrite: false, app_url: window.location.origin, app_locale: null }, diff --git a/resources/scripts/admin/views/installation/database/MysqlDatabase.vue b/resources/scripts/admin/views/installation/database/MysqlDatabase.vue index 0d293942..f291c58c 100644 --- a/resources/scripts/admin/views/installation/database/MysqlDatabase.vue +++ b/resources/scripts/admin/views/installation/database/MysqlDatabase.vue @@ -84,6 +84,11 @@ :invalid="v$.database_hostname.$error" /> + + + +
+
+
+ +
+