diff options
author | Christopher Baines <mail@cbaines.net> | 2018-04-07 15:22:36 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2018-04-12 08:30:56 +0100 |
commit | 13bf88b2e8e6cec0d2207fe7b92f7446eea49354 (patch) | |
tree | c408c6bfd9e50cdead72f8cbb5a45a7fe48bd0d9 | |
parent | 6b7f16aa3073a4d5cf5d3312a005ac4d2463ef71 (diff) | |
download | govuk-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.rb | 2 | ||||
-rw-r--r-- | app/models/finished_terraform_job.rb | 10 | ||||
-rw-r--r-- | app/models/mini_environment.rb | 10 | ||||
-rw-r--r-- | db/migrate/20180406082851_change_mini_environment_id_to_model_id.rb | 5 | ||||
-rw-r--r-- | db/schema.rb | 4 |
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 |