copy loc groups: DB
authorBill Erickson <berick@esilibrary.com>
Wed, 15 Feb 2012 17:22:47 +0000 (12:22 -0500)
committerBill Erickson <berick@esilibrary.com>
Mon, 20 Feb 2012 21:55:26 +0000 (16:55 -0500)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/sql/Pg/040.schema.asset.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_search_groups.sql [new file with mode: 0644]

index 92fd81c..85d58f6 100644 (file)
@@ -50,6 +50,23 @@ CREATE TABLE asset.copy_location_order
         CONSTRAINT acplo_once_per_org UNIQUE ( location, org )
 );
 
+CREATE TABLE asset.copy_location_group (
+    id              SERIAL  PRIMARY KEY,
+    name            TEXT    NOT NULL, -- i18n
+    owner           INT     NOT NULL REFERENCES actor.org_unit (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    pos             INT     NOT NULL DEFAULT 0,
+    opac_visible    BOOL    NOT NULL DEFAULT TRUE,
+    CONSTRAINT lgroup_once_per_owner UNIQUE (owner,name)
+);
+
+CREATE TABLE asset.copy_location_group_map (
+    id       SERIAL PRIMARY KEY,
+    location    INT     NOT NULL REFERENCES asset.copy_location (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    lgroup      INT     NOT NULL REFERENCES asset.copy_location_group (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    CONSTRAINT  lgroup_once_per_group UNIQUE (lgroup,location)
+);
+
+
 CREATE TABLE asset.copy (
        id              BIGSERIAL                       PRIMARY KEY,
        circ_lib        INT                             NOT NULL REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_search_groups.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_search_groups.sql
new file mode 100644 (file)
index 0000000..a6dd74a
--- /dev/null
@@ -0,0 +1,29 @@
+BEGIN;
+
+-- SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+CREATE TABLE asset.copy_location_group (
+    id              SERIAL  PRIMARY KEY,
+    name            TEXT    NOT NULL, -- i18n
+    owner           INT     NOT NULL REFERENCES actor.org_unit (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    pos             INT     NOT NULL DEFAULT 0,
+    opac_visible    BOOL    NOT NULL DEFAULT TRUE,
+    CONSTRAINT lgroup_once_per_owner UNIQUE (owner,name)
+);
+
+CREATE TABLE asset.copy_location_group_map (
+    id       SERIAL PRIMARY KEY,
+    location    INT     NOT NULL REFERENCES asset.copy_location (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    lgroup      INT     NOT NULL REFERENCES asset.copy_location_group (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    CONSTRAINT  lgroup_once_per_group UNIQUE (lgroup,location)
+);
+
+COMMIT;
+
+/* UNDO
+BEGIN;
+DROP TABLE asset.copy_location_group_map;
+DROP TABLE asset.copy_location_group;
+COMMIT;
+*/
+