Files
classroomio/supabase/migrations/20240610132742_lesson_language_versioning.sql
T

25 lines
706 B
PL/PgSQL

CREATE TABLE lesson_language_history (
id SERIAL PRIMARY KEY,
lesson_language_id INTEGER REFERENCES lesson_language(id),
old_content TEXT,
new_content TEXT,
timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE FUNCTION update_lesson_language_history()
RETURNS trigger AS $$
BEGIN
IF TG_OP IN ('INSERT', 'UPDATE') THEN
INSERT INTO lesson_language_history (lesson_language_id, old_content, new_content)
VALUES (NEW.id, COALESCE(OLD.content, ''), NEW.content);
END IF;
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER update_lesson_language_history_trigger
AFTER INSERT
OR
UPDATE ON lesson_language for each row
EXECUTE PROCEDURE update_lesson_language_history();