Projekt

Allgemein

Profil

Herunterladen (1,99 KB) Statistiken
| Zweig: | Markierung: | Revision:
-- @tag: follow_ups
-- @description: Tabellenstruktur für Wiedervorlagen und allgemeine Notizen
-- @depends: release_2_4_3
CREATE SEQUENCE note_id;
CREATE TABLE notes (
id integer NOT NULL DEFAULT nextval('note_id'),
subject text,
body text,
created_by integer NOT NULL,

trans_id integer,
trans_module varchar(10),

itime timestamp DEFAULT now(),
mtime timestamp,

PRIMARY KEY (id),
FOREIGN KEY (created_by) REFERENCES employee (id)
);

CREATE TRIGGER mtime_notes
BEFORE UPDATE ON notes
FOR EACH ROW
EXECUTE PROCEDURE set_mtime();

CREATE SEQUENCE follow_up_id;
CREATE TABLE follow_ups (
id integer NOT NULL DEFAULT nextval('follow_up_id'),
follow_up_date date NOT NULL,
created_for_user integer NOT NULL,
done boolean DEFAULT FALSE,
note_id integer NOT NULL,
created_by integer NOT NULL,

itime timestamp DEFAULT now(),
mtime timestamp,

PRIMARY KEY (id),
FOREIGN KEY (created_for_user) REFERENCES employee (id),
FOREIGN KEY (created_by) REFERENCES employee (id),
FOREIGN KEY (note_id) REFERENCES notes (id)
);

CREATE TRIGGER mtime_follow_ups
BEFORE UPDATE ON follow_ups
FOR EACH ROW
EXECUTE PROCEDURE set_mtime();

CREATE SEQUENCE follow_up_link_id;
CREATE TABLE follow_up_links (
id integer NOT NULL DEFAULT nextval('follow_up_link_id'),
follow_up_id integer NOT NULL,
trans_id integer NOT NULL,
trans_type text NOT NULL,
trans_info text,

itime timestamp DEFAULT now(),
mtime timestamp,

PRIMARY KEY (id),
FOREIGN KEY (follow_up_id) REFERENCES follow_ups (id)
);

CREATE TRIGGER mtime_follow_up_links
BEFORE UPDATE ON follow_up_links
FOR EACH ROW
EXECUTE PROCEDURE set_mtime();

CREATE TABLE follow_up_access (
who integer NOT NULL,
what integer NOT NULL,

FOREIGN KEY (who) REFERENCES employee (id),
FOREIGN KEY (what) REFERENCES employee (id)
);
(342-342/625)