From 72c2590571104b8d10e3f72d7a5b984d0b520c51 Mon Sep 17 00:00:00 2001 From: soryu Date: Tue, 23 Dec 2025 22:20:52 +0000 Subject: Add conflict notification and file update WS endpoint --- makima/migrations/20241224000000_add_file_version.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 makima/migrations/20241224000000_add_file_version.sql (limited to 'makima/migrations') diff --git a/makima/migrations/20241224000000_add_file_version.sql b/makima/migrations/20241224000000_add_file_version.sql new file mode 100644 index 0000000..1505983 --- /dev/null +++ b/makima/migrations/20241224000000_add_file_version.sql @@ -0,0 +1,17 @@ +-- Add version column for optimistic locking +ALTER TABLE files ADD COLUMN version INTEGER NOT NULL DEFAULT 1; + +-- Create trigger function to increment version on update +CREATE OR REPLACE FUNCTION increment_file_version() +RETURNS TRIGGER AS $$ +BEGIN + NEW.version = OLD.version + 1; + RETURN NEW; +END; +$$ language 'plpgsql'; + +-- Create trigger that fires before each update +CREATE TRIGGER increment_files_version + BEFORE UPDATE ON files + FOR EACH ROW + EXECUTE FUNCTION increment_file_version(); -- cgit v1.2.3