aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2018-04-07 15:22:36 +0100
committerChristopher Baines <mail@cbaines.net>2018-04-12 08:30:56 +0100
commit13bf88b2e8e6cec0d2207fe7b92f7446eea49354 (patch)
treec408c6bfd9e50cdead72f8cbb5a45a7fe48bd0d9
parent6b7f16aa3073a4d5cf5d3312a005ac4d2463ef71 (diff)
downloadgovuk-mini-environment-admin-13bf88b2e8e6cec0d2207fe7b92f7446eea49354.tar
govuk-mini-environment-admin-13bf88b2e8e6cec0d2207fe7b92f7446eea49354.tar.gz
Change mini_environment_id to model_id on FinishedTerraformJob
In preparation of setting up backends through Terraform as well.
-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
-rw-r--r--db/migrate/20180406082851_change_mini_environment_id_to_model_id.rb5
-rw-r--r--db/schema.rb4
5 files changed, 22 insertions, 9 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'
diff --git a/db/migrate/20180406082851_change_mini_environment_id_to_model_id.rb b/db/migrate/20180406082851_change_mini_environment_id_to_model_id.rb
new file mode 100644
index 0000000..5aef7d4
--- /dev/null
+++ b/db/migrate/20180406082851_change_mini_environment_id_to_model_id.rb
@@ -0,0 +1,5 @@
+class ChangeMiniEnvironmentIdToModelId < ActiveRecord::Migration[5.1]
+ def change
+ rename_column :finished_terraform_jobs, :mini_environment_id, :model_id
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 3fedd35..420b048 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,13 +10,13 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20180329035512) do
+ActiveRecord::Schema.define(version: 20180406082851) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
create_table "finished_terraform_jobs", force: :cascade do |t|
- t.integer "mini_environment_id"
+ t.integer "model_id"
t.string "job_class"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false