111 lines
5.1 KiB
Plaintext
Executable File
111 lines
5.1 KiB
Plaintext
Executable File
-- $Id$
|
|
-- $HeadURL$
|
|
-- $Author$
|
|
|
|
-------------------------------------------------------------------------
|
|
-- INFO: Tables ppm_silhouette und target_information
|
|
-- PROJECT: Guez
|
|
-- DATE: 2023-07-31
|
|
-- VERSION: 2.54
|
|
-------------------------------------------------------------------------
|
|
|
|
-- GLOBAL: PPM;
|
|
BEGIN;
|
|
|
|
ALTER TABLE IF EXISTS ppm_silhouette DROP CONSTRAINT IF EXISTS PK_ppm_silhouette_id CASCADE;
|
|
ALTER TABLE IF EXISTS ppm_silhouette_id_mapping DROP CONSTRAINT IF EXISTS PK_ppm_silhouette_id_mapping_id CASCADE;
|
|
ALTER TABLE IF EXISTS ppm_target_information DROP CONSTRAINT IF EXISTS PK_ppm_target_information_id CASCADE;
|
|
ALTER TABLE IF EXISTS ppm_target_information DROP CONSTRAINT IF EXISTS FK_ppm_target_information_participant_id_ppm_participant_id CASCADE;
|
|
DROP TABLE IF EXISTS ppm_silhouette CASCADE;
|
|
DROP TABLE IF EXISTS ppm_silhouette_id_mapping CASCADE;
|
|
DROP TABLE IF EXISTS ppm_target_information CASCADE;
|
|
|
|
CREATE TABLE IF NOT EXISTS ppm_silhouette (
|
|
id integer DEFAULT nextval(( 'ppm.ppm_silhouette_id_seq'::text)::regclass),
|
|
sil_id integer,
|
|
name text,
|
|
points jsonb,
|
|
svg text,
|
|
properties jsonb,
|
|
rhaValue integer
|
|
);
|
|
CREATE TABLE IF NOT EXISTS ppm_silhouette_id_mapping (
|
|
id integer DEFAULT nextval(( 'ppm.ppm_silhouette_id_mapping_id_seq'::text)::regclass),
|
|
tetra_id integer
|
|
);
|
|
COMMENT ON TABLE ppm_silhouette_id_mapping IS 'Mapping from intern silhouetteIds to extern Tetra silhouetteIds';
|
|
|
|
CREATE TABLE IF NOT EXISTS ppm_target_information (
|
|
id integer DEFAULT nextval(( 'ppm.ppm_target_information_id_seq'::text)::regclass),
|
|
participant_id integer,
|
|
pre_warning_interval integer,
|
|
pre_warning_effect integer,
|
|
pre_warning_flash_after_expiration boolean,
|
|
take_down_interval integer,
|
|
take_down_effect integer,
|
|
take_donw_flash_after_expiration boolean,
|
|
silhouette_id integer,
|
|
areas jsonb,
|
|
properties jsonb
|
|
);
|
|
|
|
CREATE SEQUENCE IF NOT EXISTS ppm_silhouette_id_seq INCREMENT 1 START 1 MINVALUE 1;
|
|
CREATE SEQUENCE IF NOT EXISTS ppm_silhouette_id_mapping_id_seq INCREMENT 1 START 1 MINVALUE 1;
|
|
CREATE SEQUENCE IF NOT EXISTS ppm_target_information_id_seq INCREMENT 1 START 1 MINVALUE 1;
|
|
|
|
ALTER TABLE IF EXISTS ppm_silhouette ADD CONSTRAINT PK_ppm_silhouette_id PRIMARY KEY (id);
|
|
ALTER TABLE IF EXISTS ppm_silhouette_id_mapping ADD CONSTRAINT PK_ppm_silhouette_id_mapping_id PRIMARY KEY (id);
|
|
ALTER TABLE IF EXISTS ppm_target_information ADD CONSTRAINT PK_ppm_target_information_id PRIMARY KEY (id);
|
|
|
|
ALTER TABLE ppm_target_information ADD CONSTRAINT FK_ppm_target_information_participant_id_ppm_participant_id
|
|
FOREIGN KEY (participant_id) REFERENCES ppm_participant (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
COMMIT;
|
|
|
|
-- EXERCISE: ALL;
|
|
BEGIN;
|
|
|
|
ALTER TABLE IF EXISTS rec_target_information DROP CONSTRAINT IF EXISTS PK_rec_target_information_rec_id CASCADE;
|
|
ALTER TABLE IF EXISTS rec_target_information DROP CONSTRAINT IF EXISTS IDX_rec_target_information_sample_time CASCADE;
|
|
ALTER TABLE IF EXISTS ppm_target_information DROP CONSTRAINT IF EXISTS PK_ppm_target_information_id CASCADE;
|
|
ALTER TABLE IF EXISTS ppm_target_information DROP CONSTRAINT IF EXISTS FK_ppm_target_information_participant_id_ppm_participant_id CASCADE;
|
|
ALTER TABLE IF EXISTS rec_target_information DROP CONSTRAINT IF EXISTS PK_rec_target_information_rec_id CASCADE;
|
|
ALTER TABLE IF EXISTS rec_target_information DROP CONSTRAINT IF EXISTS IDX_rec_target_information_sample_time CASCADE;
|
|
DROP TABLE IF EXISTS ppm_target_information CASCADE;
|
|
DROP TABLE IF EXISTS rec_target_information CASCADE;
|
|
|
|
CREATE TABLE IF NOT EXISTS ppm_target_information (
|
|
id integer DEFAULT nextval(( 'ppm_target_information_id_seq'::text)::regclass),
|
|
participant_id integer,
|
|
pre_warning_interval integer,
|
|
pre_warning_effect integer,
|
|
take_down_interval integer,
|
|
take_down_effect integer,
|
|
silhouette_id integer,
|
|
properties jsonb
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS rec_target_information (
|
|
id integer,
|
|
participant_id integer,
|
|
sample_time bigint,
|
|
prewarning_interval integer,
|
|
prewarning_effect integer,
|
|
takedown_interval integer,
|
|
takedown_effect integer,
|
|
silhouette integer,
|
|
shootback_areas jsonb,
|
|
rec_id bigint DEFAULT nextval(( 'rec_target_information_rec_id_seq'::text)::regclass),
|
|
dds_is_alive boolean DEFAULT true,
|
|
insert_time bigint DEFAULT (extract(epoch from now()) * 1000)
|
|
);
|
|
|
|
CREATE SEQUENCE IF NOT EXISTS rec_target_information_rec_id_seq INCREMENT 1 START 1 MINVALUE 1;
|
|
ALTER TABLE IF EXISTS rec_target_information ADD CONSTRAINT PK_rec_target_information_rec_id PRIMARY KEY (rec_id);
|
|
CREATE INDEX IDX_rec_target_information_sample_time ON rec_target_information (sample_time);
|
|
|
|
ALTER TABLE ppm_target_information ADD CONSTRAINT FK_ppm_target_information_participant_id_ppm_participant_id
|
|
FOREIGN KEY (participant_id) REFERENCES ppm_participant (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
COMMIT;
|