cron should log tribe change on insert too

This commit is contained in:
Dawid Wysokiński 2020-07-18 20:08:07 +02:00 committed by Kichiyaki
parent 88a9860ac5
commit 6753e5c61e
1 changed files with 26 additions and 3 deletions

View File

@ -2,7 +2,22 @@ package cron
const (
serverPGFunctions = `
CREATE OR REPLACE FUNCTION ?0.log_tribe_change()
DROP FUNCTION IF EXISTS ?0.log_tribe_change();
CREATE OR REPLACE FUNCTION ?0.log_tribe_change_on_insert()
RETURNS trigger AS
$BODY$
BEGIN
IF NEW.tribe_id <> 0 THEN
INSERT INTO ?0.tribe_changes(player_id,old_tribe_id,new_tribe_id,created_at)
VALUES(OLD.id,0,NEW.tribe_id,now());
END IF;
RETURN NEW;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
CREATE OR REPLACE FUNCTION ?0.log_tribe_change_on_update()
RETURNS trigger AS
$BODY$
BEGIN
@ -158,11 +173,19 @@ const (
`
serverPGTriggers = `
DROP TRIGGER IF EXISTS ?0_tribe_changes ON ?0.players;
CREATE TRIGGER ?0_tribe_changes
DROP TRIGGER IF EXISTS ?0_log_tribe_changes_on_update ON ?0.players;
CREATE TRIGGER ?0_log_tribe_changes_on_update
AFTER UPDATE
ON ?0.players
FOR EACH ROW
EXECUTE PROCEDURE ?0.log_tribe_change();
EXECUTE PROCEDURE ?0.log_tribe_change_on_update();
DROP TRIGGER IF EXISTS ?0_log_tribe_changes_on_insert ON ?0.players;
CREATE TRIGGER ?0_log_tribe_changes_on_insert
AFTER INSERT
ON ?0.players
FOR EACH ROW
EXECUTE PROCEDURE ?0.log_tribe_change_on_insert();
DROP TRIGGER IF EXISTS ?0_name_change ON ?0.players;
CREATE TRIGGER ?0_name_change