From: miker Date: Mon, 28 Aug 2006 23:25:29 +0000 (+0000) Subject: relax unique barcode constraint for deleted items X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=e04b7391c76fe7789c24ac77d0d28e11e52228b1;p=evergreen%2Fpines.git relax unique barcode constraint for deleted items git-svn-id: svn://svn.open-ils.org/ILS/trunk@5746 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/sql/Pg/040.schema.asset.sql b/Open-ILS/src/sql/Pg/040.schema.asset.sql index 6d8b47967d..23cdf67188 100644 --- a/Open-ILS/src/sql/Pg/040.schema.asset.sql +++ b/Open-ILS/src/sql/Pg/040.schema.asset.sql @@ -34,7 +34,7 @@ CREATE TABLE asset.copy ( holdable BOOL NOT NULL DEFAULT TRUE, deposit_amount NUMERIC(6,2) NOT NULL DEFAULT 0.00, price NUMERIC(8,2) NOT NULL DEFAULT 0.00, - barcode TEXT UNIQUE NOT NULL, + barcode TEXT NOT NULL, circ_modifier TEXT, circ_as_type TEXT, dummy_title TEXT, @@ -43,6 +43,7 @@ CREATE TABLE asset.copy ( opac_visible BOOL NOT NULL DEFAULT TRUE, deleted BOOL NOT NULL DEFAULT FALSE ); +CREATE UNIQUE INDEX copy_barcode_key ON asset.copy (barcode) WHERE deleted IS FALSE; CREATE INDEX cp_cn_idx ON asset.copy (call_number); CREATE INDEX cp_avail_cn_idx ON asset.copy (call_number); CREATE RULE protect_copy_delete AS ON DELETE TO asset.copy DO INSTEAD UPDATE asset.copy SET deleted = TRUE WHERE OLD.id = asset.copy.id;