From 8b1ae33144bc4d496980ffc16cd304c8f107aff4 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 30 May 2018 20:17:02 +0100 Subject: Add a new DataSnapshot model to store data snapshots --- ...80530191341_create_govuk_guix_data_snapshots.rb | 13 +++++ db/structure.sql | 58 +++++++++++++++++++++- 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20180530191341_create_govuk_guix_data_snapshots.rb (limited to 'db') diff --git a/db/migrate/20180530191341_create_govuk_guix_data_snapshots.rb b/db/migrate/20180530191341_create_govuk_guix_data_snapshots.rb new file mode 100644 index 0000000..3327127 --- /dev/null +++ b/db/migrate/20180530191341_create_govuk_guix_data_snapshots.rb @@ -0,0 +1,13 @@ +class CreateGovukGuixDataSnapshots < ActiveRecord::Migration[5.1] + def change + create_table :govuk_guix_data_snapshots do |t| + t.string :store_path, null: false + t.boolean :archived, default: false, null: false + t.json :manifest, null: false + + t.timestamps + end + + add_index :govuk_guix_data_snapshots, :store_path, unique: true + end +end diff --git a/db/structure.sql b/db/structure.sql index cd71ee3..08cfe22 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -70,6 +70,39 @@ CREATE SEQUENCE public.finished_terraform_jobs_id_seq ALTER SEQUENCE public.finished_terraform_jobs_id_seq OWNED BY public.finished_terraform_jobs.id; +-- +-- Name: govuk_guix_data_snapshots; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.govuk_guix_data_snapshots ( + id bigint NOT NULL, + store_path character varying NOT NULL, + archived boolean DEFAULT false NOT NULL, + manifest json NOT NULL, + created_at timestamp without time zone NOT NULL, + updated_at timestamp without time zone NOT NULL +); + + +-- +-- Name: govuk_guix_data_snapshots_id_seq; Type: SEQUENCE; Schema: public; Owner: - +-- + +CREATE SEQUENCE public.govuk_guix_data_snapshots_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +-- +-- Name: govuk_guix_data_snapshots_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - +-- + +ALTER SEQUENCE public.govuk_guix_data_snapshots_id_seq OWNED BY public.govuk_guix_data_snapshots.id; + + -- -- Name: govuk_guix_revisions; Type: TABLE; Schema: public; Owner: - -- @@ -351,6 +384,13 @@ ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id; ALTER TABLE ONLY public.finished_terraform_jobs ALTER COLUMN id SET DEFAULT nextval('public.finished_terraform_jobs_id_seq'::regclass); +-- +-- Name: govuk_guix_data_snapshots id; Type: DEFAULT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.govuk_guix_data_snapshots ALTER COLUMN id SET DEFAULT nextval('public.govuk_guix_data_snapshots_id_seq'::regclass); + + -- -- Name: mini_environment_services id; Type: DEFAULT; Schema: public; Owner: - -- @@ -416,6 +456,14 @@ ALTER TABLE ONLY public.finished_terraform_jobs ADD CONSTRAINT finished_terraform_jobs_pkey PRIMARY KEY (id); +-- +-- Name: govuk_guix_data_snapshots govuk_guix_data_snapshots_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.govuk_guix_data_snapshots + ADD CONSTRAINT govuk_guix_data_snapshots_pkey PRIMARY KEY (id); + + -- -- Name: govuk_guix_revisions govuk_guix_revisions_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- @@ -488,6 +536,13 @@ ALTER TABLE ONLY public.users ADD CONSTRAINT users_pkey PRIMARY KEY (id); +-- +-- Name: index_govuk_guix_data_snapshots_on_store_path; Type: INDEX; Schema: public; Owner: - +-- + +CREATE UNIQUE INDEX index_govuk_guix_data_snapshots_on_store_path ON public.govuk_guix_data_snapshots USING btree (store_path); + + -- -- Name: index_govuk_guix_revisions_on_commit_hash; Type: INDEX; Schema: public; Owner: - -- @@ -567,6 +622,7 @@ INSERT INTO "schema_migrations" (version) VALUES ('20180410192412'), ('20180417195307'), ('20180523062426'), -('20180527183740'); +('20180527183740'), +('20180530191341'); -- cgit v1.2.3