Mercurial > libervia-pubsub
diff db/sat_pubsub_update_4_5.sql @ 403:1dc606612405
implemented experimental "consistent_publisher" option:
/!\ pgsql schema needs to be updated /!\
New "consistent_publisher" option has been implemented to allow node owners + admins to
modify an item while preserving the original publisher. This way, original publisher can
still edit the item.
In addition to `consistent_publisher`, `max_items` has been added to PGQSL schema to
prepare for future implementation.
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 12 Jun 2019 21:51:50 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/sat_pubsub_update_4_5.sql Wed Jun 12 21:51:50 2019 +0200 @@ -0,0 +1,20 @@ +-- we check version of the database before doing anything +-- and stop execution if not good +\set ON_ERROR_STOP +DO $$ +DECLARE ver text; +BEGIN + SELECT value INTO ver FROM metadata WHERE key='version'; + IF NOT FOUND OR ver!='4' THEN + RAISE EXCEPTION 'This update file needs to be applied on database schema version 4, you use version %',ver; + END IF; +END$$; +\unset ON_ERROR_STOP +-- end of version check + +/* new "max_items" and "consistent publisher" options */ +ALTER TABLE nodes ADD COLUMN max_items integer NOT NULL DEFAULT 0 + CHECK (max_items >= 0); +ALTER TABLE nodes ADD COLUMN consistent_publisher boolean NOT NULL DEFAULT FALSE; + +UPDATE metadata SET value='5' WHERE key='version';