diff --git a/db_changes.psql b/db_changes.psql index 1c35f84b413ad98337e8a0d203e5572a227e963b..fdfe6490adb0cde10fe9ea60a3431711bb73699c 100644 --- a/db_changes.psql +++ b/db_changes.psql @@ -52,4 +52,35 @@ ALTER TABLE stationmeta_core -- https://gitlab.version.fz-juelich.de/toar/toardb_fastapi/-/issues/7#note_61173 ALTER TABLE stationmeta_annotations ALTER COLUMN kind SET DEFAULT 0, - ADD CONSTRAINT stationmeta_annotations_kind_fk_ak_vocabulary_enum_val FOREIGN KEY(kind) REFERENCES ak_vocabulary(enum_val); \ No newline at end of file + ADD CONSTRAINT stationmeta_annotations_kind_fk_ak_vocabulary_enum_val FOREIGN KEY(kind) REFERENCES ak_vocabulary(enum_val); + +-- https://gitlab.version.fz-juelich.de/toar/toardb_fastapi/-/issues/17 +CREATE TABLE public.data_archive ( + datetime timestamp with time zone NOT NULL, + value double precision NOT NULL, + flags integer NOT NULL, + timeseries_id integer NOT NULL, + version character(28) DEFAULT '000001.000000.00000000000000'::bpchar NOT NULL, + CONSTRAINT data_archive_flags_check CHECK ((flags >= 0)) +); + +ALTER TABLE ONLY public.data_archive + ADD CONSTRAINT data_archive_pkey PRIMARY KEY (timeseries_id, datetime); + +ALTER TABLE ONLY public.data_archive + ADD CONSTRAINT data_archive_timeseries_id_datetime_uniq UNIQUE (timeseries_id, datetime); + +CREATE INDEX data_archive_datetime ON public.data_archive USING btree (datetime); + +CREATE INDEX data_archive_timeseries_id ON public.data_archive USING btree (timeseries_id); + +CREATE INDEX data_archive_value_idx ON public.data_archive USING btree (value); + +ALTER TABLE ONLY public.data_archive + ADD CONSTRAINT data_archive_flags_fk_df_vocabulary_enum_val FOREIGN KEY (flags) REFERENCES public.df_vocabulary(enum_val); + +ALTER TABLE ONLY public.data_archive + ADD CONSTRAINT data_archive_timeseries_id_fk_timeseries_id FOREIGN KEY (timeseries_id) REFERENCES public.timeseries(id) DEFERRABLE INITIALLY DEFERRED; + +GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.data_archive TO toarv2_rw; +GRANT SELECT,INSERT,UPDATE ON TABLE public.data_archive TO toaruser; \ No newline at end of file