From 5c059ce1a71afd1015a5e6447f9b321ecc0df8ef Mon Sep 17 00:00:00 2001 From: Jean Boussier Date: Thu, 14 Nov 2024 12:32:23 +0100 Subject: [PATCH] DestroyStackJob: also delete commits Also use `dependent: :delete` rather than destroy for models that don't have an `after_destroy` callback. --- app/jobs/shipit/destroy_stack_job.rb | 3 +++ app/models/shipit/stack.rb | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/jobs/shipit/destroy_stack_job.rb b/app/jobs/shipit/destroy_stack_job.rb index e120b0e9b..23c137b60 100644 --- a/app/jobs/shipit/destroy_stack_job.rb +++ b/app/jobs/shipit/destroy_stack_job.rb @@ -32,6 +32,9 @@ def perform(stack) delete(Shipit::OutputChunk.joins(:task).where(task: { stack_id: stack.id })) delete(Shipit::Task.where(stack_id: stack.id)) + + delete(Shipit::Commit.where(stack_id: stack.id)) + stack.destroy! end diff --git a/app/models/shipit/stack.rb b/app/models/shipit/stack.rb index 636ff18dc..a48bad72a 100644 --- a/app/models/shipit/stack.rb +++ b/app/models/shipit/stack.rb @@ -38,7 +38,7 @@ def blank? has_many :github_hooks, dependent: :destroy, class_name: 'Shipit::GithubHook::Repo' has_many :hooks, dependent: :destroy has_many :api_clients, dependent: :destroy - has_one :continuous_delivery_schedule + has_one :continuous_delivery_schedule, dependent: :destroy belongs_to :lock_author, class_name: :User, optional: true belongs_to :repository validates_associated :repository