96 lines
4.5 KiB
Plaintext
Executable File
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;
|