awips2/deltaScripts/archived/unified_grid/create_grid_tables.sh
2022-05-05 12:34:50 -05:00

151 lines
No EOL
3.7 KiB
Bash

#!/bin/bash
# This script will add create tables for the grid plugin
#
# This needs to be performed with build ????
#
PSQL="/awips2/psql/bin/psql"
GRID_COMMAND="CREATE TABLE grid
(
id integer NOT NULL,
forecasttime integer,
reftime timestamp without time zone,
utilityflags character varying(255),
rangeend timestamp without time zone,
rangestart timestamp without time zone,
datauri character varying(255),
inserttime timestamp without time zone,
info_id integer,
CONSTRAINT grid_pkey PRIMARY KEY (id),
CONSTRAINT fk308b46a3c100e9 FOREIGN KEY (info_id)
REFERENCES grid_info (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT grid_datauri_key UNIQUE (datauri)
)
WITH (OIDS=FALSE);
ALTER TABLE grid OWNER TO awips;
CREATE INDEX "gridDatasetReftime_idx"
ON grid
USING btree
(info_id, reftime, forecasttime);
CREATE INDEX gridpersistableplugindataobjectdatauri_idx
ON grid
USING btree
(datauri);
CREATE INDEX gridpersistableplugindataobjectfcsttimeindex
ON grid
USING btree
(forecasttime);
CREATE INDEX gridpersistableplugindataobjectinserttimeindex
ON grid
USING btree
(inserttime);
CREATE INDEX gridpersistableplugindataobjectreftimeindex
ON grid
USING btree
(reftime);
"
INFO_SEQ_COMMAND="CREATE SEQUENCE gridinfo_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 91
CACHE 1;
ALTER TABLE gridinfo_seq OWNER TO awips;"
INFO_COMMAND="CREATE TABLE grid_info
(
id integer NOT NULL,
datasetid character varying(255),
ensembleid character varying(255),
secondaryid character varying(255),
level_id bigint,
location_id integer,
parameter_abbreviation character varying(255),
CONSTRAINT grid_info_pkey PRIMARY KEY (id),
CONSTRAINT fk4c4dae072d36f480 FOREIGN KEY (level_id)
REFERENCES "level" (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk4c4dae0746b2bf12 FOREIGN KEY (location_id)
REFERENCES gridcoverage (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk4c4dae076765a9e7 FOREIGN KEY (parameter_abbreviation)
REFERENCES parameter (abbreviation) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (OIDS=FALSE);
ALTER TABLE grid_info OWNER TO awips;
CREATE INDEX "gridinfoNameParamLevel_idx"
ON grid_info
USING btree
(datasetid, parameter_abbreviation, level_id);
CREATE INDEX "gridinfoSecondryId_idx"
ON grid_info
USING btree
(secondaryid);"
PARAM_COMMAND="CREATE TABLE parameter
(
abbreviation character varying(255) NOT NULL,
"name" character varying(255) NOT NULL,
unit character varying(255),
CONSTRAINT parameter_pkey PRIMARY KEY (abbreviation)
)
WITH (OIDS=FALSE);
ALTER TABLE parameter OWNER TO awips;"
SQL_COMMAND_REGISTER="insert into plugin_info (name, database, initialized, tablename) VALUES('grid', 'metadata', TRUE, 'grid'), ('parameter', 'metadata', TRUE, 'parameter');"
if [ ! -f ${PSQL} ]; then
echo "ERROR: The PSQL executable does not exist - ${PSQL}."
echo "FATAL: Update Failed!"
exit 1
fi
echo ""
echo "Press Enter to perform the updates Ctrl-C to quit."
read done
${PSQL} -U awips -d metadata -c "${PARAM_COMMAND}"
if [ $? -ne 0 ]; then
echo "FATAL: Update Failed!"
exit 1
fi
${PSQL} -U awips -d metadata -c "${INFO_SEQ_COMMAND}"
if [ $? -ne 0 ]; then
echo "FATAL: Update Failed!"
exit 1
fi
${PSQL} -U awips -d metadata -c "${INFO_COMMAND}"
if [ $? -ne 0 ]; then
echo "FATAL: Update Failed!"
exit 1
fi
${PSQL} -U awips -d metadata -c "${GRID_COMMAND}"
if [ $? -ne 0 ]; then
echo "FATAL: Update Failed!"
exit 1
fi
${PSQL} -U awips -d metadata -c "${SQL_COMMAND_REGISTER}"
if [ $? -ne 0 ]; then
echo "FATAL: Update Failed!"
exit 1
fi
echo "INFO: The update was successfully applied."
exit 0