Make some FK constraints on config.metabib_field.id deferrable
authorDan Wells <dbw2@calvin.edu>
Wed, 9 Oct 2013 13:29:01 +0000 (09:29 -0400)
committerDan Wells <dbw2@calvin.edu>
Thu, 10 Oct 2013 19:42:34 +0000 (15:42 -0400)
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/030.schema.metabib.sql

index 3dac060..33e9617 100644 (file)
@@ -236,7 +236,7 @@ $$;
 
 CREATE TABLE config.metabib_field_ts_map (
        id                              SERIAL PRIMARY KEY,
-       metabib_field   INT NOT NULL REFERENCES config.metabib_field (id),
+       metabib_field   INT NOT NULL REFERENCES config.metabib_field (id) ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,
        ts_config               TEXT NOT NULL REFERENCES config.ts_config_list (id),
        active                  BOOL NOT NULL DEFAULT TRUE,
        index_weight    CHAR(1) NOT NULL DEFAULT 'C' CHECK (index_weight IN ('A','B','C','D')),
@@ -253,7 +253,7 @@ $$;
 CREATE TABLE config.metabib_search_alias (
     alias       TEXT    PRIMARY KEY,
     field_class TEXT    NOT NULL REFERENCES config.metabib_class (name),
-    field       INT     REFERENCES config.metabib_field (id)
+    field       INT     REFERENCES config.metabib_field (id) ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED
 );
 
 CREATE TABLE config.non_cataloged_type (
index fc6e09d..66daf06 100644 (file)
@@ -197,7 +197,7 @@ CREATE TRIGGER metabib_browse_entry_fti_trigger
 CREATE TABLE metabib.browse_entry_def_map (
     id BIGSERIAL PRIMARY KEY,
     entry BIGINT REFERENCES metabib.browse_entry (id),
-    def INT REFERENCES config.metabib_field (id),
+    def INT REFERENCES config.metabib_field (id) ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,
     source BIGINT REFERENCES biblio.record_entry (id)
 );
 CREATE INDEX browse_entry_def_map_def_idx ON metabib.browse_entry_def_map (def);