Make some FK constraints on config.metabib_field.id deferrable
[working/Evergreen.git] / Open-ILS / src / sql / Pg / 002.schema.config.sql
index 6f68922..bfecd9b 100644 (file)
@@ -239,7 +239,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) 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')),
@@ -256,7 +256,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) DEFERRABLE INITIALLY DEFERRED
 );
 
 CREATE TABLE config.non_cataloged_type (
@@ -1056,7 +1056,7 @@ $$;
 CREATE TABLE config.z3950_index_field_map (
     id              SERIAL  PRIMARY KEY,
     label           TEXT    NOT NULL, -- i18n
-    metabib_field   INTEGER REFERENCES config.metabib_field(id),
+    metabib_field   INTEGER REFERENCES config.metabib_field(id) DEFERRABLE INITIALLY DEFERRED,
     record_attr     TEXT    REFERENCES config.record_attr_definition(name),
     z3950_attr      INTEGER REFERENCES config.z3950_attr(id),
     z3950_attr_type TEXT,-- REFERENCES config.z3950_attr(name)