122 lines
5.1 KiB
Plaintext
Executable File
122 lines
5.1 KiB
Plaintext
Executable File
-- $Id: 2.95_guez_pdm_charge_type_pzabwmiv.upd 61535 2024-01-25 08:18:08Z rathje $
|
|
-- $HeadURL: svn://slssvn/TDS/branches/product/devel/trunk/Lts/Tools/DBUpdate/updates/guez/2.95_guez_pdm_charge_type_pzabwmiv.upd $
|
|
-- $Author: rathje $
|
|
|
|
----------------------------------------------------------------------------------
|
|
-- INFO: [ETBUAS-77] New Tables ppm_mission_*
|
|
-- PROJECT: SWP
|
|
-- DATE: 2025-08-04
|
|
-- VERSION: 2.124
|
|
----------------------------------------------------------------------------------
|
|
|
|
-- GLOBAL: NONE;
|
|
|
|
BEGIN;
|
|
COMMIT;
|
|
|
|
-- EXERCISE: ALL;
|
|
BEGIN;
|
|
|
|
-- drop
|
|
DROP SEQUENCE IF EXISTS ppm_mission_action_id_seq;
|
|
DROP SEQUENCE IF EXISTS ppm_mission_item_id_seq;
|
|
DROP SEQUENCE IF EXISTS ppm_mission_plan_id_seq;
|
|
DROP SEQUENCE IF EXISTS rec_mission_plan_rec_id_seq;
|
|
|
|
DROP TABLE IF EXISTS ppm_mission_action CASCADE;
|
|
DROP TABLE IF EXISTS ppm_mission_action_type CASCADE;
|
|
DROP TABLE IF EXISTS ppm_mission_item CASCADE;
|
|
DROP TABLE IF EXISTS ppm_mission_plan CASCADE;
|
|
DROP TABLE IF EXISTS rec_mission_plan CASCADE;
|
|
|
|
-- create tables
|
|
CREATE TABLE IF NOT EXISTS ppm_mission_action (
|
|
id integer DEFAULT nextval(( 'ppm_mission_action_id_seq'::text)::regclass),
|
|
element_number integer, -- Sorting of items that belong to the same MissionItem
|
|
name text,
|
|
duration integer,
|
|
mission_action_type_id integer,
|
|
properties jsonb,
|
|
mission_item_id integer,
|
|
fulfilled bigint -- Timestamp when the action was fulfilled
|
|
);
|
|
COMMENT ON COLUMN ppm_mission_action.element_number IS 'Sorting of items that belong to the same MissionItem';
|
|
COMMENT ON COLUMN ppm_mission_action.fulfilled IS 'Timestamp when the action was fulfilled';
|
|
|
|
CREATE TABLE IF NOT EXISTS ppm_mission_action_type (
|
|
id integer,
|
|
name text
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS ppm_mission_item (
|
|
id integer DEFAULT nextval(( 'ppm_mission_item_id_seq'::text)::regclass),
|
|
element_number integer, -- Sorting of items within a mission plan
|
|
name text,
|
|
location_x double precision,
|
|
location_y double precision,
|
|
location_z double precision,
|
|
time_offset integer,
|
|
mission_plan_id integer
|
|
);
|
|
COMMENT ON COLUMN ppm_mission_item.element_number IS 'Sorting of items within a mission plan';
|
|
COMMENT ON COLUMN ppm_mission_item.element_number IS 'Sorting of items within a mission plan';
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS ppm_mission_plan (
|
|
id integer DEFAULT nextval(( 'ppm_mission_plan_id_seq'::text)::regclass),
|
|
name text,
|
|
mission_start bigint,
|
|
participant_id integer,
|
|
jump_to_start boolean,
|
|
repeat boolean,
|
|
aborted boolean
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS rec_mission_plan (
|
|
fulfilled bigint,
|
|
id integer,
|
|
items jsonb,
|
|
items_fulfilled integer,
|
|
jump_to_start boolean,
|
|
mission_start bigint,
|
|
name text,
|
|
participant_id integer,
|
|
properties text,
|
|
repeat boolean,
|
|
aborted boolean,
|
|
sample_time bigint,
|
|
rec_id bigint DEFAULT nextval(( 'rec_mission_plan_rec_id_seq'::text)::regclass),
|
|
dds_is_alive boolean DEFAULT true,
|
|
insert_time bigint DEFAULT (extract(epoch from now()) * 1000)
|
|
);
|
|
COMMENT ON TABLE rec_mission_plan IS 'recorded data for topic MissionPlan';
|
|
|
|
-- create sequences
|
|
CREATE SEQUENCE IF NOT EXISTS ppm_mission_action_id_seq INCREMENT 1 START 1 MINVALUE 1;
|
|
CREATE SEQUENCE IF NOT EXISTS ppm_mission_item_id_seq INCREMENT 1 START 1 MINVALUE 1;
|
|
CREATE SEQUENCE IF NOT EXISTS ppm_mission_plan_id_seq INCREMENT 1 START 1 MINVALUE 1;
|
|
CREATE SEQUENCE IF NOT EXISTS rec_mission_plan_rec_id_seq INCREMENT 1 START 1 MINVALUE 1;
|
|
|
|
ALTER TABLE IF EXISTS ppm_mission_action ADD CONSTRAINT PK_ppm_mission_action_id PRIMARY KEY (id);
|
|
ALTER TABLE IF EXISTS ppm_mission_action_type ADD CONSTRAINT PK_ppm_mission_action_type_id PRIMARY KEY (id);
|
|
ALTER TABLE IF EXISTS ppm_mission_item ADD CONSTRAINT PK_ppm_mission_item_id PRIMARY KEY (id);
|
|
ALTER TABLE IF EXISTS ppm_mission_plan ADD CONSTRAINT PK_ppm_mission_plan_id PRIMARY KEY (id);
|
|
ALTER TABLE IF EXISTS rec_mission_plan ADD CONSTRAINT PK_rec_mission_plan_rec_id PRIMARY KEY (rec_id);
|
|
|
|
ALTER TABLE ppm_mission_action ADD CONSTRAINT FK_ppm_mission_action_mission_action_type_id_ppm_mission_action
|
|
FOREIGN KEY (mission_action_type_id) REFERENCES ppm_mission_action_type (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ppm_mission_action ADD CONSTRAINT FK_ppm_mission_action_mission_item_id_ppm_mission_item_id
|
|
FOREIGN KEY (mission_item_id) REFERENCES ppm_mission_item (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ppm_mission_item ADD CONSTRAINT FK_ppm_mission_item_mission_plan_id_ppm_mission_plan_id
|
|
FOREIGN KEY (mission_plan_id) REFERENCES ppm_mission_plan (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
INSERT INTO ppm_mission_action_type (id, name) VALUES (0, 'Undefined');
|
|
INSERT INTO ppm_mission_action_type (id, name) VALUES (1, 'MoveTo');
|
|
INSERT INTO ppm_mission_action_type (id, name) VALUES (2, 'Loiter');
|
|
INSERT INTO ppm_mission_action_type (id, name) VALUES (3, 'Attack');
|
|
|
|
CREATE INDEX IDX_rec_mission_plan_sample_time ON rec_mission_plan (sample_time);
|
|
|
|
|
|
COMMIT;
|