fix: delete database related things when delete database
This commit is contained in:
parent
2852630d6c
commit
e5e9faba35
@ -74,6 +74,11 @@ private function check_scheduled_backups($schedule)
|
||||
if (!$scheduled_backup->enabled) {
|
||||
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])) {
|
||||
$scheduled_backup->frequency = VALID_CRON_STRINGS[$scheduled_backup->frequency];
|
||||
|
@ -26,10 +26,8 @@ class DatabaseBackupJob implements ShouldQueue
|
||||
|
||||
public ?Team $team = null;
|
||||
public Server $server;
|
||||
public ?ScheduledDatabaseBackup $backup = null;
|
||||
public string $database_type;
|
||||
public ?StandalonePostgresql $database = null;
|
||||
public ?string $database_status = null;
|
||||
public ScheduledDatabaseBackup $backup;
|
||||
public StandalonePostgresql $database;
|
||||
|
||||
public ?string $container_name = null;
|
||||
public ?ScheduledDatabaseBackupExecution $backup_log = null;
|
||||
@ -45,13 +43,8 @@ public function __construct($backup)
|
||||
{
|
||||
$this->backup = $backup;
|
||||
$this->team = Team::find($backup->team_id);
|
||||
$this->database = data_get($this->backup,'database');
|
||||
if (is_null($this->database)) {
|
||||
ray('Database not found');
|
||||
}
|
||||
$this->database_type = $this->database->type();
|
||||
$this->database = data_get($this->backup, 'database');
|
||||
$this->server = $this->database->destination->server;
|
||||
$this->database_status = data_get($this->database,'status');
|
||||
$this->s3 = $this->backup->s3;
|
||||
}
|
||||
|
||||
@ -68,7 +61,7 @@ public function uniqueId(): int
|
||||
public function handle(): void
|
||||
{
|
||||
try {
|
||||
if ($this->database_status !== 'running') {
|
||||
if (data_get($this->database, 'status') !== 'running') {
|
||||
ray('database not running');
|
||||
return;
|
||||
}
|
||||
@ -87,7 +80,7 @@ public function handle(): void
|
||||
'filename' => $this->backup_location,
|
||||
'scheduled_database_backup_id' => $this->backup->id,
|
||||
]);
|
||||
if ($this->database_type === 'standalone-postgresql') {
|
||||
if ($this->database->type() === 'standalone-postgresql') {
|
||||
$this->backup_standalone_postgresql();
|
||||
}
|
||||
$this->calculate_size();
|
||||
@ -102,7 +95,6 @@ public function handle(): void
|
||||
send_internal_notification('DatabaseBackupJob failed with: ' . $th->getMessage());
|
||||
throw $th;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function backup_standalone_postgresql(): void
|
||||
|
@ -28,6 +28,11 @@ protected static function booted()
|
||||
'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
|
||||
|
Loading…
Reference in New Issue
Block a user