-
Notifications
You must be signed in to change notification settings - Fork 96
Expand file tree
/
Copy path20251114014715_record_dates.down.sql
More file actions
39 lines (31 loc) · 1.17 KB
/
20251114014715_record_dates.down.sql
File metadata and controls
39 lines (31 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
ALTER TABLE record_modifications DROP COLUMN date;
CREATE OR REPLACE FUNCTION audit_record_modification() RETURNS trigger AS $record_modification_trigger$
DECLARE
progress_change SMALLINT;
video_change VARCHAR(200);
status_change RECORD_STATUS;
player_change INT;
demon_change INTEGER;
BEGIN
if (OLD.progress <> NEW.progress) THEN
progress_change = OLD.progress;
END IF;
IF (OLD.video <> NEW.video) THEN
video_change = OLD.video;
END IF;
IF (OLD.status_ <> NEW.status_) THEN
status_change = OLD.status_;
END IF;
IF (OLD.player <> NEW.player) THEN
player_change = OLD.player;
END IF;
IF (OLD.demon <> NEW.demon) THEN
demon_change = OLD.demon;
END IF;
INSERT INTO record_modifications (userid, id, progress, video, status_, player, demon)
(SELECT id, NEW.id, progress_change, video_change, status_change, player_change, demon_change
FROM active_user LIMIT 1);
RETURN NEW;
END;
$record_modification_trigger$ LANGUAGE plpgsql;
ALTER TABLE records DROP COLUMN date;