diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/jobs/mini_environment_job.rb | 2 | ||||
-rw-r--r-- | app/models/finished_terraform_job.rb | 10 | ||||
-rw-r--r-- | app/models/mini_environment.rb | 10 |
3 files changed, 15 insertions, 7 deletions
diff --git a/app/jobs/mini_environment_job.rb b/app/jobs/mini_environment_job.rb index 6ee6c3e..9635e02 100644 --- a/app/jobs/mini_environment_job.rb +++ b/app/jobs/mini_environment_job.rb @@ -29,7 +29,7 @@ class MiniEnvironmentJob < Que::Job def destroy FinishedTerraformJob.create( - mini_environment_id: @mini_environment.id, + model_id: @mini_environment.id, job_class: attrs[:job_class] ) super diff --git a/app/models/finished_terraform_job.rb b/app/models/finished_terraform_job.rb index 6397b27..ca2cb94 100644 --- a/app/models/finished_terraform_job.rb +++ b/app/models/finished_terraform_job.rb @@ -22,11 +22,11 @@ # # Table name: finished_terraform_jobs # -# id :integer not null, primary key -# mini_environment_id :integer -# job_class :string -# created_at :datetime not null -# updated_at :datetime not null +# id :integer not null, primary key +# model_id :integer +# job_class :string +# created_at :datetime not null +# updated_at :datetime not null # class FinishedTerraformJob < ApplicationRecord diff --git a/app/models/mini_environment.rb b/app/models/mini_environment.rb index f2a03ff..712e3a0 100644 --- a/app/models/mini_environment.rb +++ b/app/models/mini_environment.rb @@ -35,7 +35,15 @@ # class MiniEnvironment < ApplicationRecord - has_many :finished_terraform_jobs, dependent: :destroy + has_many( + :finished_terraform_jobs, + lambda do |mini_environment| + unscope(:where).where( + 'finished_terraform_jobs.model_id = ?', mini_environment.id + ) + end, + dependent: :destroy + ) has_many :terraform_states, dependent: :destroy belongs_to :govuk_guix_revision, class_name: 'GovukGuix::Revision' |