From 210602df9e0ca8f922bb14b7f0a64f163909e177 Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Sat, 22 Feb 2025 19:03:24 +0100 Subject: [PATCH] Added migration script Signed-off-by: Martin Weise <martin.weise@tuwien.ac.at> --- .docs/changelog.md | 37 +- .../migration/schema_1.6.3-to-1.7.0.sql | 472 ++++++++++++++++++ helm/dbrepo/files/01-setup-schema.sql | 2 + 3 files changed, 486 insertions(+), 25 deletions(-) create mode 100644 dbrepo-metadata-db/migration/schema_1.6.3-to-1.7.0.sql diff --git a/.docs/changelog.md b/.docs/changelog.md index 7914aeb06a..4f64307078 100644 --- a/.docs/changelog.md +++ b/.docs/changelog.md @@ -4,15 +4,22 @@ author: Martin Weise ## v1.7.0 (????) -### What's Changed +[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.7.0) -TBD +!!! warning "Contains Breaking Changes" -## v1.6.5 (2025-02-18) + This release updates the Metadata Database schema which is incompatible to v1.6.3! Use the migration + script [`schema_1.6.3-to-1.7.0.sql`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.7/dbrepo-metadata-db/migration/schema_1.6.3-to-1.7.0.sql) + to apply the changes manually. -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.7.0) +#### Changes + +* Replaced sequential numerical ids with non-guessable random ids in the Metadata Database + in [#491](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/491). -### What's Changed +## v1.6.5 (2025-02-18) + +[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.5) #### Fixes @@ -24,8 +31,6 @@ TBD [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.4) -### What's Changed - #### Fixes * Fixed a bug where the users were not synced with the Metadata Database @@ -35,8 +40,6 @@ TBD [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.3) -### What's Changed - #### Changes * Refactored the UI to support OIDC and added an event listener to the Auth Service that syncs users on creation to the @@ -46,8 +49,6 @@ TBD [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.2) -### What's Changed - #### Changes * Added interface tests for the Python library in Gitlab CI/CD pipeline @@ -62,8 +63,6 @@ TBD [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.1) -### What's Changed - #### Changes * Added privacy feature for hidden databases (and optionally tables, views, subsets) that hides them completely from @@ -78,8 +77,6 @@ TBD [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.0) -### What's Changed - #### Features * Added possibility to modify table description and privacy mode that hides metadata of databases, tables, subsets and @@ -117,8 +114,6 @@ TBD [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.3) -### What's Changed - #### Fixes * Fixed a bug where subsets containing sub-queries are not able to retrieve data @@ -128,8 +123,6 @@ TBD [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.2) -### What's Changed - #### Changes * Adapt Helm chart to support `runAsNonRoot` throughout and specify `resource` presets for the highly-constrained @@ -149,8 +142,6 @@ TBD [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.1) -### What's Changed - #### Fixes * Bug where the data volume could not be calculated when the data length column in the Metadata Database is `null` @@ -168,8 +159,6 @@ TBD script [`schema_1.4.5-to-1.5.0.sql`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.5/dbrepo-metadata-db/migration/schema_1.4.5-to-1.5.0.sql) to apply the changes manually. -### What's Changed - #### Features * Added `SERIAL` data type to create incrementing key @@ -204,8 +193,6 @@ TBD This release updates the Metadata Database schema which is incompatible to v1.4.5! -### What's Changed - #### Features * Added [Dashboard Service](../api/dashboard-service/) and monitoring in default setup. diff --git a/dbrepo-metadata-db/migration/schema_1.6.3-to-1.7.0.sql b/dbrepo-metadata-db/migration/schema_1.6.3-to-1.7.0.sql new file mode 100644 index 0000000000..272b491e0a --- /dev/null +++ b/dbrepo-metadata-db/migration/schema_1.6.3-to-1.7.0.sql @@ -0,0 +1,472 @@ +DROP TABLE IF EXISTS `mdb_data`; +DROP TABLE IF EXISTS `mdb_columns_nom`; +DROP TABLE IF EXISTS `mdb_columns_cat`; +DROP TABLE IF EXISTS `mdb_update`; +DROP TABLE IF EXISTS `mdb_databases_subjects`; +-- mdb_ontologies +ALTER TABLE `mdb_ontologies` + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_ontologies + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE `mdb_ontologies` + ADD SYSTEM VERSIONING; +-- mdb_units +ALTER TABLE `mdb_units` + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_units + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE `mdb_units` + ADD SYSTEM VERSIONING; +-- mdb_units +ALTER TABLE `mdb_concepts` + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_concepts + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE `mdb_concepts` + ADD SYSTEM VERSIONING; +-- mdb_messages +ALTER TABLE `mdb_banner_messages` + DROP SYSTEM VERSIONING; +ALTER TABLE `mdb_banner_messages` RENAME `mdb_messages`; +ALTER TABLE mdb_messages + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE `mdb_messages` + ADD SYSTEM VERSIONING; +-- mdb_image_operators +ALTER TABLE mdb_image_operators + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_image_operators + DROP FOREIGN KEY mdb_image_operators_ibfk_1; +ALTER TABLE mdb_image_operators + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_image_operators + CHANGE COLUMN image_id image_id VARCHAR(36) NOT NULL; +-- mdb_image_types +ALTER TABLE mdb_image_types + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_image_types + DROP FOREIGN KEY mdb_image_types_ibfk_1; +ALTER TABLE mdb_image_types + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_image_types + CHANGE COLUMN image_id image_id VARCHAR(36) NOT NULL; +-- mdb_images +ALTER TABLE mdb_images + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_images + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +-- mdb_access +ALTER TABLE mdb_access + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_access + DROP FOREIGN KEY mdb_access_ibfk_1; +ALTER TABLE mdb_access + ADD FOREIGN KEY (aUserID) REFERENCES mdb_users (id); +ALTER TABLE mdb_access + CHANGE COLUMN aDBID aDBID VARCHAR(36) NOT NULL; +-- mdb_users +ALTER TABLE mdb_users + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_users + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +-- mdb_have_access +ALTER TABLE mdb_have_access + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_have_access + DROP FOREIGN KEY mdb_have_access_ibfk_1; +ALTER TABLE mdb_have_access + CHANGE COLUMN user_id user_id VARCHAR(36) NOT NULL; +ALTER TABLE mdb_have_access + CHANGE COLUMN database_id database_id VARCHAR(36) NOT NULL; +-- mdb_identifier_creators +ALTER TABLE mdb_identifier_creators + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_identifier_creators + DROP FOREIGN KEY mdb_identifier_creators_ibfk_1; +ALTER TABLE mdb_identifier_creators + CHANGE COLUMN pid pid VARCHAR(36) NOT NULL; +-- mdb_identifier_descriptions +ALTER TABLE mdb_identifier_descriptions + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_identifier_descriptions + DROP FOREIGN KEY mdb_identifier_descriptions_ibfk_1; +ALTER TABLE mdb_identifier_descriptions + CHANGE COLUMN pid pid VARCHAR(36) NOT NULL; +-- mdb_identifier_funders +ALTER TABLE mdb_identifier_funders + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_identifier_funders + DROP FOREIGN KEY mdb_identifier_funders_ibfk_1; +ALTER TABLE mdb_identifier_funders + CHANGE COLUMN pid pid VARCHAR(36) NOT NULL; +-- mdb_identifier_licenses +ALTER TABLE mdb_identifier_licenses + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_identifier_licenses + DROP FOREIGN KEY mdb_identifier_licenses_ibfk_1; +ALTER TABLE mdb_identifier_licenses + CHANGE COLUMN pid pid VARCHAR(36) NOT NULL; +-- mdb_identifier_titles +ALTER TABLE mdb_identifier_titles + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_identifier_titles + DROP FOREIGN KEY mdb_identifier_titles_ibfk_1; +ALTER TABLE mdb_identifier_titles + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_identifier_titles + CHANGE COLUMN pid pid VARCHAR(36) NOT NULL; +-- mdb_identifier_licenses +ALTER TABLE mdb_related_identifiers + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_related_identifiers + DROP FOREIGN KEY mdb_related_identifiers_ibfk_1; +ALTER TABLE mdb_related_identifiers RENAME mdb_identifier_related; +ALTER TABLE mdb_identifier_related + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_identifier_related + CHANGE COLUMN pid pid VARCHAR(36) NOT NULL; +-- mdb_identifiers +ALTER TABLE mdb_identifiers + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_identifiers + DROP FOREIGN KEY mdb_identifiers_ibfk_1; +ALTER TABLE mdb_identifiers + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_identifiers + CHANGE COLUMN dbid dbid VARCHAR(36) NOT NULL; +ALTER TABLE mdb_identifiers + CHANGE COLUMN qid qid VARCHAR(36) NOT NULL; +ALTER TABLE mdb_identifiers + CHANGE COLUMN tid tid VARCHAR(36) NOT NULL; +ALTER TABLE mdb_identifiers + CHANGE COLUMN vid vid VARCHAR(36) NOT NULL; +-- mdb_columns_concepts +ALTER TABLE mdb_columns_concepts + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_columns_concepts + DROP FOREIGN KEY mdb_columns_concepts_ibfk_1; +ALTER TABLE mdb_columns_concepts + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_columns_concepts + CHANGE COLUMN cID cID VARCHAR(36) NOT NULL; +-- mdb_columns_enums +ALTER TABLE mdb_columns_enums + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_columns_enums + DROP FOREIGN KEY mdb_columns_enums_ibfk_1; +ALTER TABLE mdb_columns_enums + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_columns_enums + CHANGE COLUMN column_id column_id VARCHAR(36) NOT NULL; +-- mdb_columns_sets +ALTER TABLE mdb_columns_sets + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_columns_sets + DROP FOREIGN KEY mdb_columns_sets_ibfk_1; +ALTER TABLE mdb_columns_sets + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_columns_sets + CHANGE COLUMN column_id column_id VARCHAR(36) NOT NULL; +-- mdb_columns_units +ALTER TABLE mdb_columns_units + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_columns_units + DROP FOREIGN KEY mdb_columns_units_ibfk_1; +ALTER TABLE mdb_columns_units + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_columns_units + CHANGE COLUMN cID cID VARCHAR(36) NOT NULL; +-- mdb_constraints_checks +ALTER TABLE mdb_constraints_checks + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_constraints_checks + DROP FOREIGN KEY mdb_constraints_checks_ibfk_1; +ALTER TABLE mdb_constraints_checks + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_constraints_checks + CHANGE COLUMN tid tid VARCHAR(36) NOT NULL; +-- mdb_constraints_foreign_key_reference +ALTER TABLE mdb_constraints_foreign_key_reference + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_constraints_foreign_key_reference + DROP FOREIGN KEY mdb_constraints_foreign_key_reference_ibfk_1; +ALTER TABLE mdb_constraints_foreign_key_reference + DROP FOREIGN KEY mdb_constraints_foreign_key_reference_ibfk_2; +ALTER TABLE mdb_constraints_foreign_key_reference + DROP FOREIGN KEY mdb_constraints_foreign_key_reference_ibfk_3; +ALTER TABLE mdb_constraints_foreign_key_reference + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_constraints_foreign_key_reference + CHANGE COLUMN fkid fkid VARCHAR(36) NOT NULL; +ALTER TABLE mdb_constraints_foreign_key_reference + CHANGE COLUMN cid cid VARCHAR(36) NOT NULL; +ALTER TABLE mdb_constraints_foreign_key_reference + CHANGE COLUMN rcid rcid VARCHAR(36) NOT NULL; +-- mdb_constraints_foreign_key +ALTER TABLE mdb_constraints_foreign_key + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_constraints_foreign_key + DROP FOREIGN KEY mdb_constraints_foreign_key_ibfk_1; +ALTER TABLE mdb_constraints_foreign_key + DROP FOREIGN KEY mdb_constraints_foreign_key_ibfk_2; +ALTER TABLE mdb_constraints_foreign_key + CHANGE COLUMN fkid fkid VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_constraints_foreign_key + CHANGE COLUMN tid tid VARCHAR(36) NOT NULL; +ALTER TABLE mdb_constraints_foreign_key + CHANGE COLUMN rtid rtid VARCHAR(36) NOT NULL; +-- mdb_constraints_primary_key +ALTER TABLE mdb_constraints_primary_key + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_constraints_primary_key + DROP FOREIGN KEY mdb_constraints_primary_key_ibfk_1; +ALTER TABLE mdb_constraints_primary_key + DROP FOREIGN KEY mdb_constraints_primary_key_ibfk_2; +ALTER TABLE mdb_constraints_primary_key + CHANGE COLUMN pkid pkid VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_constraints_primary_key + CHANGE COLUMN tID tID VARCHAR(36) NOT NULL; +-- mdb_constraints_unique +ALTER TABLE mdb_constraints_unique + DROP FOREIGN KEY mdb_constraints_unique_ibfk_1; +-- mdb_constraints_unique_columns +ALTER TABLE mdb_constraints_unique_columns + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_constraints_unique_columns + DROP FOREIGN KEY mdb_constraints_unique_columns_ibfk_1; +ALTER TABLE mdb_constraints_unique_columns + DROP FOREIGN KEY mdb_constraints_unique_columns_ibfk_2; +ALTER TABLE mdb_constraints_unique_columns + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_constraints_unique_columns + CHANGE COLUMN uid uid VARCHAR(36) NOT NULL; +ALTER TABLE mdb_constraints_unique_columns + CHANGE COLUMN cid cid VARCHAR(36) NOT NULL; +-- mdb_constraints_unique +ALTER TABLE mdb_constraints_unique + CHANGE COLUMN uid uid VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_constraints_unique + CHANGE COLUMN tid tid VARCHAR(36) NOT NULL; +-- mdb_columns +ALTER TABLE mdb_columns + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_columns + DROP FOREIGN KEY mdb_columns_ibfk_1; +ALTER TABLE mdb_columns + CHANGE COLUMN ID ID VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_columns + CHANGE COLUMN tID tID VARCHAR(36) NOT NULL; +-- mdb_tables +ALTER TABLE mdb_tables + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_tables + DROP COLUMN `separator`; +ALTER TABLE mdb_tables + DROP COLUMN `quote`; +ALTER TABLE mdb_tables + DROP COLUMN `element_false`; +ALTER TABLE mdb_tables + DROP COLUMN `element_null`; +ALTER TABLE mdb_tables + DROP COLUMN `element_true`; +ALTER TABLE mdb_tables + DROP COLUMN `skip_lines`; +ALTER TABLE mdb_tables + DROP FOREIGN KEY mdb_tables_ibfk_1; +ALTER TABLE mdb_tables + CHANGE COLUMN ID ID VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_tables + CHANGE COLUMN tDBID tDBID VARCHAR(36) NOT NULL; +-- mdb_view_columns +ALTER TABLE mdb_view_columns + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_view_columns + DROP FOREIGN KEY mdb_view_columns_ibfk_1; +ALTER TABLE mdb_view_columns + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_view_columns + CHANGE COLUMN view_id view_id VARCHAR(36) NOT NULL; +-- mdb_view +ALTER TABLE mdb_view + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_view + DROP FOREIGN KEY mdb_view_ibfk_1; +ALTER TABLE mdb_view + CHANGE COLUMN ID ID VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_view + CHANGE COLUMN vdbid vdbid VARCHAR(36) NOT NULL; +-- mdb_databases +ALTER TABLE mdb_databases + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_databases + DROP FOREIGN KEY mdb_databases_ibfk_1; +ALTER TABLE mdb_databases + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_databases + CHANGE COLUMN cid cid VARCHAR(36) NOT NULL; +-- mdb_containers +ALTER TABLE mdb_containers + DROP SYSTEM VERSIONING; +ALTER TABLE mdb_containers + CHANGE COLUMN id id VARCHAR(36) NOT NULL DEFAULT UUID(); +ALTER TABLE mdb_containers + CHANGE COLUMN image_id image_id VARCHAR(36) NOT NULL; +-- mdb_images +ALTER TABLE mdb_images + ADD SYSTEM VERSIONING; +-- mdb_identifiers +ALTER TABLE mdb_identifiers + ADD FOREIGN KEY (dbid) REFERENCES mdb_databases (id); +ALTER TABLE mdb_identifiers + ADD FOREIGN KEY (tid) REFERENCES mdb_tables (id); +ALTER TABLE mdb_identifiers + ADD FOREIGN KEY (vid) REFERENCES mdb_view (id); +ALTER TABLE mdb_identifiers + ADD SYSTEM VERSIONING; +-- mdb_identifier_licenses +ALTER TABLE mdb_identifier_licenses + ADD FOREIGN KEY (pid) REFERENCES mdb_identifiers (id); +ALTER TABLE mdb_identifier_licenses + ADD SYSTEM VERSIONING; +-- mdb_identifier_titles +ALTER TABLE mdb_identifier_titles + ADD FOREIGN KEY (pid) REFERENCES mdb_identifiers (id); +ALTER TABLE mdb_identifier_titles + ADD SYSTEM VERSIONING; +-- mdb_identifier_funders +ALTER TABLE mdb_identifier_funders + ADD FOREIGN KEY (pid) REFERENCES mdb_identifiers (id); +ALTER TABLE mdb_identifier_funders + ADD SYSTEM VERSIONING; +-- mdb_identifier_descriptions +ALTER TABLE mdb_identifier_descriptions + ADD FOREIGN KEY (pid) REFERENCES mdb_identifiers (id); +ALTER TABLE mdb_identifier_descriptions + ADD SYSTEM VERSIONING; +-- mdb_identifier_creators +ALTER TABLE mdb_identifier_creators + ADD FOREIGN KEY (pid) REFERENCES mdb_identifiers (id); +ALTER TABLE mdb_identifier_creators + ADD SYSTEM VERSIONING; +-- mdb_identifier_related +ALTER TABLE mdb_identifier_related + ADD FOREIGN KEY (pid) REFERENCES mdb_identifiers (id); +ALTER TABLE mdb_identifier_related + ADD SYSTEM VERSIONING; +-- mdb_containers +ALTER TABLE mdb_containers + ADD FOREIGN KEY (image_id) REFERENCES mdb_images (id); +ALTER TABLE mdb_containers + ADD SYSTEM VERSIONING; +-- mdb_access +ALTER TABLE mdb_access + ADD FOREIGN KEY (aDBID) REFERENCES mdb_databases (id); +ALTER TABLE mdb_access + ADD SYSTEM VERSIONING; +-- mdb_columns_concepts +ALTER TABLE mdb_columns_concepts + ADD FOREIGN KEY (id) REFERENCES mdb_concepts (id); +ALTER TABLE mdb_columns_concepts + ADD FOREIGN KEY (cID) REFERENCES mdb_columns (id); +ALTER TABLE mdb_columns_concepts + ADD SYSTEM VERSIONING; +-- mdb_columns_enums +ALTER TABLE mdb_columns_enums + ADD FOREIGN KEY (column_id) REFERENCES mdb_columns (id); +ALTER TABLE mdb_columns_enums + ADD SYSTEM VERSIONING; +-- mdb_columns_sets +ALTER TABLE mdb_columns_sets + ADD FOREIGN KEY (column_id) REFERENCES mdb_columns (id); +ALTER TABLE mdb_columns_sets + ADD SYSTEM VERSIONING; +-- mdb_columns_units +ALTER TABLE mdb_columns_units + ADD FOREIGN KEY (id) REFERENCES mdb_units (id); +ALTER TABLE mdb_columns_units + ADD FOREIGN KEY (cID) REFERENCES mdb_columns (id); +ALTER TABLE mdb_columns_units + ADD SYSTEM VERSIONING; +-- mdb_constraints_checks +ALTER TABLE mdb_constraints_checks + ADD FOREIGN KEY (tid) REFERENCES mdb_tables (id); +ALTER TABLE mdb_constraints_checks + ADD SYSTEM VERSIONING; +-- mdb_constraints_foreign_key +ALTER TABLE mdb_constraints_foreign_key + ADD FOREIGN KEY (tid) REFERENCES mdb_tables (id); +ALTER TABLE mdb_constraints_foreign_key + ADD FOREIGN KEY (rtid) REFERENCES mdb_constraints_foreign_key_reference (id); +ALTER TABLE mdb_constraints_foreign_key + ADD SYSTEM VERSIONING; +-- mdb_constraints_foreign_key_reference +ALTER TABLE mdb_constraints_foreign_key_reference + ADD FOREIGN KEY (fkid) REFERENCES mdb_constraints_foreign_key (fkid); +ALTER TABLE mdb_constraints_foreign_key_reference + ADD FOREIGN KEY (cid) REFERENCES mdb_columns (ID); +ALTER TABLE mdb_constraints_foreign_key_reference + ADD FOREIGN KEY (rcid) REFERENCES mdb_constraints_foreign_key_reference (ID); +ALTER TABLE mdb_constraints_foreign_key_reference + ADD SYSTEM VERSIONING; +-- mdb_constraints_primary_key +ALTER TABLE mdb_constraints_primary_key + ADD FOREIGN KEY (pkid) REFERENCES mdb_tables (ID); +ALTER TABLE mdb_constraints_primary_key + ADD FOREIGN KEY (tID) REFERENCES mdb_columns (ID); +ALTER TABLE mdb_constraints_primary_key + ADD SYSTEM VERSIONING; +-- mdb_constraints_unique +ALTER TABLE mdb_constraints_unique + ADD FOREIGN KEY (tid) REFERENCES mdb_tables (ID); +ALTER TABLE mdb_constraints_unique + ADD SYSTEM VERSIONING; +-- mdb_constraints_unique_columns +ALTER TABLE mdb_constraints_unique_columns + ADD FOREIGN KEY (uid) REFERENCES mdb_constraints_unique (uid); +ALTER TABLE mdb_constraints_unique_columns + ADD FOREIGN KEY (cid) REFERENCES mdb_columns (ID); +ALTER TABLE mdb_constraints_unique_columns + ADD SYSTEM VERSIONING; +-- mdb_columns +ALTER TABLE mdb_columns + ADD FOREIGN KEY (tID) REFERENCES mdb_tables (id); +ALTER TABLE mdb_columns + ADD SYSTEM VERSIONING; +-- mdb_tables +ALTER TABLE mdb_tables + ADD FOREIGN KEY (tDBID) REFERENCES mdb_databases (id); +ALTER TABLE mdb_tables + ADD SYSTEM VERSIONING; +-- mdb_view_columns +ALTER TABLE mdb_view_columns + ADD FOREIGN KEY (view_id) REFERENCES mdb_view (id); +ALTER TABLE mdb_view_columns + ADD SYSTEM VERSIONING; +-- mdb_view +ALTER TABLE mdb_view + ADD FOREIGN KEY (vdbid) REFERENCES mdb_databases (id); +ALTER TABLE mdb_view + ADD SYSTEM VERSIONING; +-- mdb_databases +ALTER TABLE mdb_databases + ADD FOREIGN KEY (cid) REFERENCES mdb_containers (id); +ALTER TABLE mdb_databases + ADD SYSTEM VERSIONING; +-- mdb_users +ALTER TABLE mdb_users + ADD SYSTEM VERSIONING; +-- mdb_have_access +ALTER TABLE mdb_have_access + ADD FOREIGN KEY (database_id) REFERENCES mdb_databases (id); +ALTER TABLE mdb_have_access + ADD SYSTEM VERSIONING; +-- mdb_image_types +ALTER TABLE mdb_image_types + ADD FOREIGN KEY (image_id) REFERENCES mdb_images (id); +ALTER TABLE mdb_image_types + ADD SYSTEM VERSIONING; +-- mdb_image_operators +ALTER TABLE mdb_image_operators + ADD FOREIGN KEY (image_id) REFERENCES mdb_images (id); +ALTER TABLE mdb_image_operators + ADD SYSTEM VERSIONING; \ No newline at end of file diff --git a/helm/dbrepo/files/01-setup-schema.sql b/helm/dbrepo/files/01-setup-schema.sql index a3da29558a..f874c4e263 100644 --- a/helm/dbrepo/files/01-setup-schema.sql +++ b/helm/dbrepo/files/01-setup-schema.sql @@ -251,6 +251,7 @@ CREATE TABLE IF NOT EXISTS `mdb_columns_concepts` cID VARCHAR(36) NOT NULL, created TIMESTAMP NOT NULL DEFAULT NOW(), PRIMARY KEY (id, cid), + FOREIGN KEY (`id`) REFERENCES mdb_concepts (`id`), FOREIGN KEY (`cID`) REFERENCES mdb_columns (`ID`) ) WITH SYSTEM VERSIONING; @@ -260,6 +261,7 @@ CREATE TABLE IF NOT EXISTS `mdb_columns_units` cID VARCHAR(36) NOT NULL, created TIMESTAMP NOT NULL DEFAULT NOW(), PRIMARY KEY (id, cID), + FOREIGN KEY (id) REFERENCES mdb_units (id), FOREIGN KEY (`cID`) REFERENCES mdb_columns (`ID`) ) WITH SYSTEM VERSIONING; -- GitLab