-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
lines 81-82 in https://github.com/lter/LTER-core-metabase/blob/migration/sql/33_semantic_annotation.sql establishes a foreign key "fk_SAA_DataSetID"
CREATE TABLE semantic_annotation."DataSetAttributeAnnotation"
(
"DataSetID" integer,
"EntitySortOrder" integer,
"ColumnPosition" int, -- alternatively, AttributeName.
"TermID" character varying(40),
"ObjectPropertyID" character varying(200) DEFAULT 'containsMeasurementsOfType',
CONSTRAINT "pk_DataSetAttributeAnnotation_DataSetID_TermID" PRIMARY KEY ("DataSetID","EntitySortOrder","ColumnPosition","TermID"),
CONSTRAINT "fk_SAA_DataSetID" FOREIGN KEY ("DataSetID","EntitySortOrder","ColumnPosition") REFERENCES lter_metabase."DataSetAttributes" ("DataSetID","EntitySortOrder","ColumnPosition")
MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION,
CONSTRAINT "fk_SAA_TermID" FOREIGN KEY ("TermID") REFERENCES semantic_annotation."EMLSemanticAnnotationTerms" ("TermID")
MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION,
CONSTRAINT "fk_SAA_ObjPropID" FOREIGN KEY ("ObjectPropertyID") REFERENCES semantic_annotation."EMLObjectProperties" ("ObjectPropertyID")
MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION
);
however, DSAttributes itself uses ColumnName as part of its PK, thus rendering above FK invalid
solution1: change PK in DSAttributes to use ColumnPosition
effects: need to change the same in the enumeration and missing codes tables and their corresponding views
solution2: change PK in DSAttributeAnnotation to use ColumnName
effects: need to change its corresponding view
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels