diff db/libervia_pubsub_update_8_9.sql @ 466:0d38c3529972

psql: schema update (9) to add `roster` table
author Goffi <goffi@goffi.org>
date Fri, 15 Oct 2021 13:40:59 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/libervia_pubsub_update_8_9.sql	Fri Oct 15 13:40:59 2021 +0200
@@ -0,0 +1,24 @@
+-- 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!='8' THEN
+        RAISE EXCEPTION 'This update file needs to be applied on database schema version 8, you use version %',ver;
+    END IF;
+END$$;
+\unset ON_ERROR_STOP
+-- end of version check
+
+/* new "roster" table */
+CREATE TABLE roster (
+     roster_id serial PRIMARY KEY,
+     jid text NOT NULL UNIQUE,
+     version text,
+     updated timestamp with time zone NOT NULL,
+     roster xml NOT NULL
+);
+
+UPDATE metadata SET value='9' WHERE key='version';