UUIDs
The terms table has an auto-incrementing integer as the primary key and a uuid secondary key. Foreign keys related to the terms table primary key are based on the UUID, not the primary key integer. This change was implemented with the aggregation of all type vocabularies into a single pair of tables: type vocabularies and terms. All tables containing individual type vocabularies were dropped and subsequently replaced with the two vocabulary tables. In order to update the usage of foreign keys, the previous foreign keys were replaced with a global UUID foreign key. Specifications are as follows:
Related | Vocabulary | Foreign Key |
---|---|---|
agents | agent-types | agent_type_uuid |
documents | document-types | document_type_uuid |
project_agent | agent-roles | agent_role_uuid |
project_features | feature-types | feature_type_uuid |
project_jobs | job-types | job_type_uuid |
project_measurements | feature-types | feature_type_uuid |
project_types | service-domains | service_domain_uuid |
projects | project-stages | project_stage_uuid |
projects | project-types | project_type_uuid |
uploads | upload-types | upload_type_uuid |
Schemas
terms terms.term_uuid
Relations
[related_tablename].[type_vocabularies.column_slug]_uuid = terms.term_uuid