relax unique barcode constraint for deleted items
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 28 Aug 2006 23:25:29 +0000 (23:25 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 28 Aug 2006 23:25:29 +0000 (23:25 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@5746 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/sql/Pg/040.schema.asset.sql

index 6d8b479..23cdf67 100644 (file)
@@ -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;