diff --git a/app/Livewire/Project/Database/BackupEdit.php b/app/Livewire/Project/Database/BackupEdit.php
index 59f2f9a39..35ca2c7ec 100644
--- a/app/Livewire/Project/Database/BackupEdit.php
+++ b/app/Livewire/Project/Database/BackupEdit.php
@@ -5,6 +5,8 @@ namespace App\Livewire\Project\Database;
 use App\Models\ScheduledDatabaseBackup;
 use Livewire\Component;
 use Spatie\Url\Url;
+use Illuminate\Support\Facades\Hash;
+use Illuminate\Support\Facades\Auth;
 
 class BackupEdit extends Component
 {
@@ -12,6 +14,8 @@ class BackupEdit extends Component
 
     public $s3s;
 
+    public bool $delete_associated_backups = false;
+
     public ?string $status = null;
 
     public array $parameters;
@@ -46,16 +50,26 @@ class BackupEdit extends Component
         }
     }
 
-    public function delete()
+    public function delete($password)
     {
+        if (!Hash::check($password, Auth::user()->password)) {
+            $this->addError('password', 'The provided password is incorrect.');
+            return;
+        }
+
         try {
+            if ($this->delete_associated_backups) {
+                $this->deleteAllBackups();
+            }
+
             $this->backup->delete();
+
             if ($this->backup->database->getMorphClass() === 'App\Models\ServiceDatabase') {
                 $previousUrl = url()->previous();
                 $url = Url::fromString($previousUrl);
                 $url = $url->withoutQueryParameter('selectedBackupId');
                 $url = $url->withFragment('backups');
-                $url = $url->getPath()."#{$url->getFragment()}";
+                $url = $url->getPath() . "#{$url->getFragment()}";
 
                 return redirect($url);
             } else {
@@ -104,4 +118,28 @@ class BackupEdit extends Component
             $this->dispatch('error', $e->getMessage());
         }
     }
+
+    public function deleteAllBackups()
+    {
+        $executions = $this->backup->executions;
+
+        foreach ($executions as $execution) {
+            if ($this->backup->database->getMorphClass() === 'App\Models\ServiceDatabase') {
+                delete_backup_locally($execution->filename, $this->backup->database->service->destination->server);
+            } else {
+                delete_backup_locally($execution->filename, $this->backup->database->destination->server);
+            }
+            $execution->delete();
+        }
+    }
+
+    public function render()
+    {
+        //Add delete backup form S3 storage and delete backup for SFTP... when it is implemented
+        return view('livewire.project.database.backup-edit', [
+            'checkboxes' => [
+                ['id' => 'delete_associated_backups', 'label' => 'All backups associated with this backup job from this database will be permanently deleted from local storage.']
+            ]
+        ]);
+    }
 }
diff --git a/resources/views/livewire/project/database/backup-edit.blade.php b/resources/views/livewire/project/database/backup-edit.blade.php
index 462d696fa..a737ec091 100644
--- a/resources/views/livewire/project/database/backup-edit.blade.php
+++ b/resources/views/livewire/project/database/backup-edit.blade.php
@@ -8,12 +8,17 @@
             
Please think again.
-