aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/jobs/mini_environment_job.rb2
-rw-r--r--app/models/finished_terraform_job.rb10
-rw-r--r--app/models/mini_environment.rb10
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'