From 8f9d9aab4e21bbb034814147c795d0369e7968a5 Mon Sep 17 00:00:00 2001 From: Amitai Burstein Date: Fri, 14 Apr 2023 12:39:07 +0300 Subject: [PATCH] Add revisins table to Events --- Application/Schema.sql | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Application/Schema.sql b/Application/Schema.sql index caa2fb0..301bdca 100644 --- a/Application/Schema.sql +++ b/Application/Schema.sql @@ -44,3 +44,17 @@ CREATE TABLE reservation_jobs ( ALTER TABLE events ADD CONSTRAINT events_ref_venue_id FOREIGN KEY (venue_id) REFERENCES venues (id) ON DELETE NO ACTION; ALTER TABLE reservation_jobs ADD CONSTRAINT reservation_jobs_ref_reservation_id FOREIGN KEY (reservation_id) REFERENCES reservations (id) ON DELETE CASCADE; ALTER TABLE reservations ADD CONSTRAINT reservations_ref_event_id FOREIGN KEY (event_id) REFERENCES events (id) ON DELETE NO ACTION; + + +CREATE TABLE events_revisions ( revision SERIAL NOT NULL) INHERITS (events); + +CREATE OR REPLACE FUNCTION table_update() RETURNS TRIGGER AS $table_update$ + BEGIN + INSERT INTO events_revisions SELECT NEW.*; + RETURN NEW; + END; +$table_update$ LANGUAGE plpgsql; + +CREATE TRIGGER table_update +AFTER INSERT OR UPDATE ON events + FOR EACH ROW EXECUTE PROCEDURE table_update(); \ No newline at end of file