Revision 11221
Added by Aaron Marcuse-Kubitza over 10 years ago
VegCore.pg.sql | ||
---|---|---|
160 | 160 |
/*KEY "fk_dataset_dataset1_idx" ("parent")*/CHECK (true), |
161 | 161 |
/*KEY "fk_source_party2_idx" ("first_publisher")*/CHECK (true), |
162 | 162 |
/*KEY "dataset_dataset_source_fkey1_idx" ("dataset_source")*/CHECK (true), |
163 |
/*CONSTRAINT "fk_source_party2" FOREIGN KEY ("first_publisher") REFERENCES "source" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true), |
|
164 |
/*CONSTRAINT "fk_source_party_list1" FOREIGN KEY ("data_owners") REFERENCES "party_list" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true), |
|
165 | 163 |
/*CONSTRAINT "dataset_dataset_source_fkey1" FOREIGN KEY ("dataset_source") REFERENCES "source" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true), |
166 | 164 |
/*CONSTRAINT "fk_dataset_dataset1" FOREIGN KEY ("parent") REFERENCES "dataset" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true), |
167 | 165 |
/*CONSTRAINT "fk_dataset_source1" FOREIGN KEY ("id") REFERENCES "source" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true), |
168 |
/*CONSTRAINT "fk_dataset_traceable1" FOREIGN KEY ("id") REFERENCES "traceable" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true), |
|
169 |
/*CONSTRAINT "fk_source_party1" FOREIGN KEY ("contacts") REFERENCES "party_list" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true) |
|
166 |
/*CONSTRAINT "fk_source_party1" FOREIGN KEY ("contacts") REFERENCES "party_list" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true), |
|
167 |
/*CONSTRAINT "fk_source_party2" FOREIGN KEY ("first_publisher") REFERENCES "source" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true), |
|
168 |
/*CONSTRAINT "fk_source_party_list1" FOREIGN KEY ("data_owners") REFERENCES "party_list" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true) |
|
170 | 169 |
) /*ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='a collection of records from the same place, with the same attribution requirements'*/; |
171 | 170 |
/*!40101 SET character_set_client = @saved_cs_client */; |
172 | 171 |
|
... | ... | |
715 | 714 |
/*!40101 SET character_set_client = utf8 */; |
716 | 715 |
CREATE TABLE "project" ( |
717 | 716 |
"id" text NOT NULL, |
717 |
"name" text NOT NULL, |
|
718 |
"dataset" text DEFAULT NULL, |
|
718 | 719 |
"info" hstore DEFAULT NULL, |
719 | 720 |
PRIMARY KEY ("id"), |
720 |
/*CONSTRAINT "project_id_fkey1" FOREIGN KEY ("id") REFERENCES "dataset" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true), |
|
721 |
/*CONSTRAINT "project__unique" */UNIQUE ("dataset","name"), |
|
722 |
/*KEY "project_id_fkey1_idx" ("dataset")*/CHECK (true), |
|
723 |
/*CONSTRAINT "project_id_fkey1" FOREIGN KEY ("dataset") REFERENCES "dataset" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true), |
|
721 | 724 |
/*CONSTRAINT "fk_project_event1" FOREIGN KEY ("id") REFERENCES "event" ("id") ON DELETE CASCADE ON UPDATE CASCADE*/CHECK (true) |
722 | 725 |
) /*ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='A "project established to collect vegetation plot data. Each plot originates as part of a project." ("VegBank":http://vegbank.org/vegbank/views/dba_tabledescription_detail.jsp?view=detail&wparam=project&entity=dba_tabledescription&where=where_tablename)'*/; |
723 | 726 |
/*!40101 SET character_set_client = @saved_cs_client */; |
Also available in: Unified diff
fix: schemas/VegCore/ERD/VegCore.ERD.mwb: project: allow it to have a dataset rather than being one, because projects do not always have separate attribution requirements (e.g. in Madidi they don't). this also fixes a bug where projects whose datasets had a parent dataset (e.g. VegBank) would need a dummy event for that parent dataset so that the fkeys on both dataset.parent->dataset and event.parent->event would be satisfied. added project__unique constraint on name within dataset.