Files
qt5-legatus-legacy/Lts/Tools/DBUpdate/updates/guez/2.120_guez_nom_notification.upd
T
2026-08-13 18:33:10 +02:00

96 lines
4.5 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: [E01562-59] New Tables nom_notification/nom_address
-- PROJECT: ADLER
-- DATE: 2025-06-27
-- VERSION: 2.120
----------------------------------------------------------------------------------
-- GLOBAL: NOM;
BEGIN;
ALTER TABLE IF EXISTS address_type DROP CONSTRAINT IF EXISTS PK_address_type_id CASCADE;
ALTER TABLE IF EXISTS nom_address DROP CONSTRAINT IF EXISTS PK_nom_address_id CASCADE;
ALTER TABLE IF EXISTS nom_address DROP CONSTRAINT IF EXISTS FK_nom_address_notification_id_nom_notification_id CASCADE;
ALTER TABLE IF EXISTS nom_address DROP CONSTRAINT IF EXISTS FK_nom_address_address_type_id_address_type_id CASCADE;
ALTER TABLE IF EXISTS nom_notification DROP CONSTRAINT IF EXISTS PK_nom_notification_id CASCADE;
ALTER TABLE IF EXISTS nom_notification DROP CONSTRAINT IF EXISTS FK_nom_notification_priority_id_priority_id CASCADE;
ALTER TABLE IF EXISTS nom_notification DROP CONSTRAINT IF EXISTS FK_nom_notification_processed_priority_priority_id CASCADE;
ALTER TABLE IF EXISTS priority DROP CONSTRAINT IF EXISTS PK_priority_id CASCADE;
DROP TABLE IF EXISTS address_type CASCADE;
DROP TABLE IF EXISTS nom_address CASCADE;
DROP TABLE IF EXISTS nom_notification CASCADE;
DROP TABLE IF EXISTS priority CASCADE;
-- Create tables
CREATE TABLE IF NOT EXISTS address_type (
id integer DEFAULT nextval(( 'nom.address_type_id_seq'::text)::regclass),
name text
);
CREATE TABLE IF NOT EXISTS nom_address (
id integer DEFAULT nextval(( 'nom.nom_address_id_seq'::text)::regclass),
address_type_id integer,
address_id integer,
name text,
address_sub_id integer,
address_sub_sub_id integer,
is_read boolean,
notification_id integer,
is_sender boolean
);
CREATE TABLE IF NOT EXISTS nom_notification (
id integer DEFAULT nextval(( 'nom.nom_notification_id_seq'::text)::regclass),
content text,
exercise_id integer,
expiry_time bigint,
priority_id integer,
processed integer,
processed_priority integer,
process_time bigint,
time_stamp bigint,
title text
);
CREATE TABLE IF NOT EXISTS priority (
id integer DEFAULT nextval(( 'nom.priority_id_seq'::text)::regclass),
name text
);
CREATE SEQUENCE IF NOT EXISTS address_type_id_seq INCREMENT 1 START 1 MINVALUE 1;
CREATE SEQUENCE IF NOT EXISTS nom_address_id_seq INCREMENT 1 START 1 MINVALUE 1;
CREATE SEQUENCE IF NOT EXISTS nom_notification_id_seq INCREMENT 1 START 1 MINVALUE 1;
CREATE SEQUENCE IF NOT EXISTS priority_id_seq INCREMENT 1 START 1 MINVALUE 1;
-- Create primary keys
ALTER TABLE IF EXISTS address_type ADD CONSTRAINT PK_address_type_id PRIMARY KEY (id);
ALTER TABLE IF EXISTS nom_address ADD CONSTRAINT PK_nom_address_id PRIMARY KEY (id);
ALTER TABLE IF EXISTS nom_notification ADD CONSTRAINT PK_nom_notification_id PRIMARY KEY (id);
ALTER TABLE IF EXISTS priority ADD CONSTRAINT PK_priority_id PRIMARY KEY (id);
-- Create foreign keys
ALTER TABLE nom_address ADD CONSTRAINT FK_nom_address_notification_id_nom_notification_id FOREIGN KEY (notification_id) REFERENCES nom_notification (id) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE nom_address ADD CONSTRAINT FK_nom_address_address_type_id_address_type_id FOREIGN KEY (address_type_id) REFERENCES address_type (id) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE nom_notification ADD CONSTRAINT FK_nom_notification_priority_id_priority_id FOREIGN KEY (priority_id) REFERENCES priority (id) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE nom_notification ADD CONSTRAINT FK_nom_notification_processed_priority_priority_id FOREIGN KEY (processed_priority) REFERENCES priority (id) ON DELETE CASCADE ON UPDATE CASCADE;
-- Inserts for static data i.e. enums
INSERT INTO priority (id, name) VALUES (1, 'Highest');
INSERT INTO priority (id, name) VALUES (2, 'High');
INSERT INTO priority (id, name) VALUES (3, 'Normal');
INSERT INTO priority (id, name) VALUES (4, 'Low');
INSERT INTO address_type (id, name) VALUES (0, 'Service');
INSERT INTO address_type (id, name) VALUES (1, 'Operator');
INSERT INTO address_type (id, name) VALUES (2, 'Workstation');
INSERT INTO address_type (id, name) VALUES (3, 'Participant');
COMMIT;
-- EXERCISE: NONE;
BEGIN;
COMMIT;