Merge pull request #1213 from coollabsio/next

v4.0.0-beta.30
This commit is contained in:
Andras Bacsai
2023-09-09 13:23:59 +02:00
committed by GitHub
6 changed files with 18 additions and 17 deletions

View File

@@ -74,6 +74,11 @@ class Kernel extends ConsoleKernel
if (!$scheduled_backup->enabled) { if (!$scheduled_backup->enabled) {
continue; continue;
} }
if (is_null(data_get($scheduled_backup,'database'))) {
ray('database not found');
$scheduled_backup->delete();
continue;
}
if (isset(VALID_CRON_STRINGS[$scheduled_backup->frequency])) { if (isset(VALID_CRON_STRINGS[$scheduled_backup->frequency])) {
$scheduled_backup->frequency = VALID_CRON_STRINGS[$scheduled_backup->frequency]; $scheduled_backup->frequency = VALID_CRON_STRINGS[$scheduled_backup->frequency];

View File

@@ -26,10 +26,8 @@ class DatabaseBackupJob implements ShouldQueue
public ?Team $team = null; public ?Team $team = null;
public Server $server; public Server $server;
public ?ScheduledDatabaseBackup $backup = null; public ScheduledDatabaseBackup $backup;
public string $database_type; public StandalonePostgresql $database;
public ?StandalonePostgresql $database = null;
public string $database_status;
public ?string $container_name = null; public ?string $container_name = null;
public ?ScheduledDatabaseBackupExecution $backup_log = null; public ?ScheduledDatabaseBackupExecution $backup_log = null;
@@ -45,14 +43,8 @@ class DatabaseBackupJob implements ShouldQueue
{ {
$this->backup = $backup; $this->backup = $backup;
$this->team = Team::find($backup->team_id); $this->team = Team::find($backup->team_id);
$this->database = $this->backup->database; $this->database = data_get($this->backup, 'database');
if (!$this->database) {
ray('Database not found');
return;
}
$this->database_type = $this->database->type();
$this->server = $this->database->destination->server; $this->server = $this->database->destination->server;
$this->database_status = $this->database->status;
$this->s3 = $this->backup->s3; $this->s3 = $this->backup->s3;
} }
@@ -69,7 +61,7 @@ class DatabaseBackupJob implements ShouldQueue
public function handle(): void public function handle(): void
{ {
try { try {
if ($this->database_status !== 'running') { if (data_get($this->database, 'status') !== 'running') {
ray('database not running'); ray('database not running');
return; return;
} }
@@ -88,7 +80,7 @@ class DatabaseBackupJob implements ShouldQueue
'filename' => $this->backup_location, 'filename' => $this->backup_location,
'scheduled_database_backup_id' => $this->backup->id, 'scheduled_database_backup_id' => $this->backup->id,
]); ]);
if ($this->database_type === 'standalone-postgresql') { if ($this->database->type() === 'standalone-postgresql') {
$this->backup_standalone_postgresql(); $this->backup_standalone_postgresql();
} }
$this->calculate_size(); $this->calculate_size();
@@ -103,7 +95,6 @@ class DatabaseBackupJob implements ShouldQueue
send_internal_notification('DatabaseBackupJob failed with: ' . $th->getMessage()); send_internal_notification('DatabaseBackupJob failed with: ' . $th->getMessage());
throw $th; throw $th;
} }
} }
private function backup_standalone_postgresql(): void private function backup_standalone_postgresql(): void

View File

@@ -28,6 +28,11 @@ class StandalonePostgresql extends BaseModel
'is_readonly' => true 'is_readonly' => true
]); ]);
}); });
static::deleted(function ($database) {
$database->scheduledBackups()->delete();
$database->persistentStorages()->delete();
instant_remote_process(['docker volume rm postgres-data-' . $database->uuid], $database->destination->server, false);
});
} }
public function portsMappings(): Attribute public function portsMappings(): Attribute

View File

@@ -7,7 +7,7 @@ return [
// The release version of your application // The release version of your application
// Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD')) // Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD'))
'release' => '4.0.0-beta.29', 'release' => '4.0.0-beta.30',
'server_name' => env('APP_ID', 'coolify'), 'server_name' => env('APP_ID', 'coolify'),
// When left empty or `null` the Laravel environment will be used // When left empty or `null` the Laravel environment will be used
'environment' => config('app.env'), 'environment' => config('app.env'),

View File

@@ -1,3 +1,3 @@
<?php <?php
return '4.0.0-beta.29'; return '4.0.0-beta.30';

View File

@@ -4,7 +4,7 @@
"version": "3.12.36" "version": "3.12.36"
}, },
"v4": { "v4": {
"version": "4.0.0-beta.29" "version": "4.0.0-beta.30"
} }
} }
} }