aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2018-06-01 20:42:03 +0100
committerChristopher Baines <mail@cbaines.net>2018-06-01 20:42:03 +0100
commitf98bdb86d09f803495c9c203c350a7f06d96a8de (patch)
treefef67e02a174a15b0795b3737a2667c9eb6e2206
parent3fa08e707fbc7899c0964bef4b501e137991d838 (diff)
downloadgovuk-mini-environment-admin-f98bdb86d09f803495c9c203c350a7f06d96a8de.tar
govuk-mini-environment-admin-f98bdb86d09f803495c9c203c350a7f06d96a8de.tar.gz
Add an optional DataSnapshot to the MiniEnvironment model
To store if a DataSnapshot is being used.
-rw-r--r--app/models/mini_environment.rb6
-rw-r--r--db/migrate/20180601182655_add_data_snapshot_to_mini_environment.rb9
-rw-r--r--db/structure.sql21
3 files changed, 34 insertions, 2 deletions
diff --git a/app/models/mini_environment.rb b/app/models/mini_environment.rb
index 77e2f1b..c92a62c 100644
--- a/app/models/mini_environment.rb
+++ b/app/models/mini_environment.rb
@@ -32,6 +32,7 @@
# backend_id :integer
# backend_data :jsonb
# signon_users :jsonb
+# data_snapshot_id :integer
#
class MiniEnvironment < ApplicationRecord
@@ -50,6 +51,11 @@ class MiniEnvironment < ApplicationRecord
belongs_to :backend, polymorphic: true
has_many :services, class_name: 'MiniEnvironmentService', dependent: :destroy
+ belongs_to(
+ :data_snapshot,
+ class_name: 'GovukGuix::DataSnapshot',
+ optional: true
+ )
def enqueued_terraform_jobs
Que.execute("SELECT * FROM que_jobs WHERE args->>0 = '#{id}'")
diff --git a/db/migrate/20180601182655_add_data_snapshot_to_mini_environment.rb b/db/migrate/20180601182655_add_data_snapshot_to_mini_environment.rb
new file mode 100644
index 0000000..8c12cf0
--- /dev/null
+++ b/db/migrate/20180601182655_add_data_snapshot_to_mini_environment.rb
@@ -0,0 +1,9 @@
+class AddDataSnapshotToMiniEnvironment < ActiveRecord::Migration[5.1]
+ def change
+ add_reference(
+ :mini_environments,
+ :data_snapshot,
+ foreign_key: { to_table: :govuk_guix_data_snapshots }
+ )
+ end
+end
diff --git a/db/structure.sql b/db/structure.sql
index 7b5d81f..9e03d7d 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -167,7 +167,8 @@ CREATE TABLE public.mini_environments (
backend_type character varying,
backend_id bigint,
backend_data jsonb,
- signon_users jsonb
+ signon_users jsonb,
+ data_snapshot_id bigint
);
@@ -575,6 +576,13 @@ CREATE INDEX index_mini_environments_on_backend_type_and_backend_id ON public.mi
--
+-- Name: index_mini_environments_on_data_snapshot_id; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_mini_environments_on_data_snapshot_id ON public.mini_environments USING btree (data_snapshot_id);
+
+
+--
-- Name: index_mini_environments_on_govuk_guix_revision_id; Type: INDEX; Schema: public; Owner: -
--
@@ -606,6 +614,14 @@ ALTER TABLE ONLY public.govuk_guix_data_snapshots
--
+-- Name: mini_environments fk_rails_eba071cb24; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.mini_environments
+ ADD CONSTRAINT fk_rails_eba071cb24 FOREIGN KEY (data_snapshot_id) REFERENCES public.govuk_guix_data_snapshots(id);
+
+
+--
-- PostgreSQL database dump complete
--
@@ -643,6 +659,7 @@ INSERT INTO "schema_migrations" (version) VALUES
('20180527183740'),
('20180530191341'),
('20180530192706'),
-('20180601153537');
+('20180601153537'),
+('20180601182655');