diff --git a/app/Http/Controllers/DatabaseController.php b/app/Http/Controllers/DatabaseController.php
index 8cda4f1f2..2bcc23863 100644
--- a/app/Http/Controllers/DatabaseController.php
+++ b/app/Http/Controllers/DatabaseController.php
@@ -25,4 +25,21 @@ class DatabaseController extends Controller
}
return view('project.database.configuration', ['database' => $database]);
}
+
+ public function backups()
+ {
+ $project = session('currentTeam')->load(['projects'])->projects->where('uuid', request()->route('project_uuid'))->first();
+ if (!$project) {
+ return redirect()->route('dashboard');
+ }
+ $environment = $project->load(['environments'])->environments->where('name', request()->route('environment_name'))->first()->load(['applications']);
+ if (!$environment) {
+ return redirect()->route('dashboard');
+ }
+ $database = $environment->databases->where('uuid', request()->route('database_uuid'))->first();
+ if (!$database) {
+ return redirect()->route('dashboard');
+ }
+ return view('project.database.backups', ['database' => $database]);
+ }
}
diff --git a/app/Models/ScheduledDatabaseBackup.php b/app/Models/ScheduledDatabaseBackup.php
index 62dcccc64..5ecd5e1b0 100644
--- a/app/Models/ScheduledDatabaseBackup.php
+++ b/app/Models/ScheduledDatabaseBackup.php
@@ -2,9 +2,8 @@
namespace App\Models;
-use Illuminate\Database\Eloquent\Model;
-class ScheduledDatabaseBackup extends Model
+class ScheduledDatabaseBackup extends BaseModel
{
protected $guarded = [];
diff --git a/app/Models/StandalonePostgresql.php b/app/Models/StandalonePostgresql.php
index 55fe96e91..58284307b 100644
--- a/app/Models/StandalonePostgresql.php
+++ b/app/Models/StandalonePostgresql.php
@@ -83,4 +83,9 @@ class StandalonePostgresql extends BaseModel
{
return $this->morphMany(LocalPersistentVolume::class, 'resource');
}
+
+ public function scheduledBackups()
+ {
+ return $this->morphMany(ScheduledDatabaseBackup::class, 'database');
+ }
}
diff --git a/database/migrations/2023_08_07_142951_add_description_field_to_applications_table.php b/database/migrations/2023_08_06_142951_add_description_field_to_applications_table.php
similarity index 100%
rename from database/migrations/2023_08_07_142951_add_description_field_to_applications_table.php
rename to database/migrations/2023_08_06_142951_add_description_field_to_applications_table.php
diff --git a/database/migrations/2023_08_07_142952_remove_foreignId_environment_variables.php b/database/migrations/2023_08_06_142952_remove_foreignId_environment_variables.php
similarity index 100%
rename from database/migrations/2023_08_07_142952_remove_foreignId_environment_variables.php
rename to database/migrations/2023_08_06_142952_remove_foreignId_environment_variables.php
diff --git a/database/migrations/2023_08_07_142954_add_readonly_localpersistentvolumes.php b/database/migrations/2023_08_06_142954_add_readonly_localpersistentvolumes.php
similarity index 100%
rename from database/migrations/2023_08_07_142954_add_readonly_localpersistentvolumes.php
rename to database/migrations/2023_08_06_142954_add_readonly_localpersistentvolumes.php
diff --git a/database/migrations/2023_08_07_142950_create_standalone_postgresqls_table.php b/database/migrations/2023_08_07_142950_create_standalone_postgresqls_table.php
index 180d6382f..25f65e660 100644
--- a/database/migrations/2023_08_07_142950_create_standalone_postgresqls_table.php
+++ b/database/migrations/2023_08_07_142950_create_standalone_postgresqls_table.php
@@ -17,7 +17,7 @@ return new class extends Migration {
$table->string('description')->nullable();
$table->string('postgres_user')->default('postgres');
- $table->string('postgres_password');
+ $table->text('postgres_password');
$table->string('postgres_db')->default('postgres');
$table->string('postgres_initdb_args')->nullable();
$table->string('postgres_host_auth_method')->nullable();
@@ -28,6 +28,7 @@ return new class extends Migration {
$table->string('image')->default('postgres:15-alpine');
$table->boolean('is_public')->default(false);
$table->integer('public_port')->nullable();
+ $table->text('ports_mappings')->nullable();
$table->string('limits_memory')->default("0");
$table->string('limits_memory_swap')->default("0");
diff --git a/database/migrations/2023_08_08_114038_add_port_mappings_to_standalone_postgresqls.php b/database/migrations/2023_08_08_114038_add_port_mappings_to_standalone_postgresqls.php
deleted file mode 100644
index 33d6ec8e9..000000000
--- a/database/migrations/2023_08_08_114038_add_port_mappings_to_standalone_postgresqls.php
+++ /dev/null
@@ -1,21 +0,0 @@
-text('ports_mappings')->nullable();
- });
- }
-
- public function down(): void
- {
- Schema::table('standalone_postgresqls', function (Blueprint $table) {
- $table->dropColumn('ports_mappings');
- });
- }
-};
diff --git a/database/migrations/2023_08_08_150103_create_scheduled_database_backups_table.php b/database/migrations/2023_08_08_150103_create_scheduled_database_backups_table.php
index f8c4f62db..c9d940367 100644
--- a/database/migrations/2023_08_08_150103_create_scheduled_database_backups_table.php
+++ b/database/migrations/2023_08_08_150103_create_scheduled_database_backups_table.php
@@ -9,6 +9,7 @@ return new class extends Migration {
{
Schema::create('scheduled_database_backups', function (Blueprint $table) {
$table->id();
+ $table->string('uuid')->unique();
$table->boolean('enabled')->default(true);
$table->boolean('keep_locally')->default(true);
$table->string('save_s3')->default(true);
diff --git a/database/migrations/2023_08_09_154921_change_postgres_password_of_standalone_postgresqls.php b/database/migrations/2023_08_09_154921_change_postgres_password_of_standalone_postgresqls.php
deleted file mode 100644
index f062f962a..000000000
--- a/database/migrations/2023_08_09_154921_change_postgres_password_of_standalone_postgresqls.php
+++ /dev/null
@@ -1,21 +0,0 @@
-text('postgres_password')->change();
- });
- }
-
- public function down(): void
- {
- Schema::table('standalone_postgresqls', function (Blueprint $table) {
- $table->string('postgres_password')->change();
- });
- }
-};
diff --git a/resources/views/components/databases/navbar.blade.php b/resources/views/components/databases/navbar.blade.php
index 02e1b6257..c3de5b2c6 100644
--- a/resources/views/components/databases/navbar.blade.php
+++ b/resources/views/components/databases/navbar.blade.php
@@ -3,6 +3,10 @@
href="{{ route('project.database.configuration', $parameters) }}">
+
+
+
{{--
This resource will be deleted. It is not reversible.
Please think again.
This team be deleted. It is not reversible.
Please think again.