151 lines
No EOL
3.7 KiB
Bash
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 |