From: Bill Erickson <berickxx@gmail.com>
Date: Thu, 23 May 2019 22:02:41 +0000 (-0400)
Subject: LP1830391 Workstation settings unique constraint
X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=6fc897933d4cfbabcada46488ff50890f1c7a509;p=evergreen%2Fequinox.git

LP1830391 Workstation settings unique constraint

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
---

diff --git a/Open-ILS/src/sql/Pg/005.schema.actors.sql b/Open-ILS/src/sql/Pg/005.schema.actors.sql
index 0572543768..33ae6282a1 100644
--- a/Open-ILS/src/sql/Pg/005.schema.actors.sql
+++ b/Open-ILS/src/sql/Pg/005.schema.actors.sql
@@ -1108,7 +1108,8 @@ CREATE TABLE actor.workstation_setting (
                        ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
     name        TEXT   NOT NULL REFERENCES config.workstation_setting_type (name) 
                        ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,
-    value       JSON   NOT NULL
+    value       JSON   NOT NULL,
+    CONSTRAINT  ws_once_per_key UNIQUE (workstation, name)
 );
 
 CREATE INDEX actor_workstation_setting_workstation_idx 
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.hatch-enable-print.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.hatch-enable-print.sql
index 315c85b0d2..e9e8b0e79a 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.hatch-enable-print.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.hatch-enable-print.sql
@@ -12,6 +12,8 @@ VALUES (
     )
 );
 
+ALTER TABLE actor.workstation_setting
+    ADD CONSTRAINT ws_once_per_key UNIQUE (workstation, name);
 
 COMMIT;