diff --git a/scripts/sql/37104600_create_housekeeping_tables.down.sql b/scripts/sql/37104600_create_housekeeping_tables.down.sql new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scripts/sql/37104600_create_housekeeping_tables.up.sql b/scripts/sql/37104600_create_housekeeping_tables.up.sql new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scripts/sql/37204600_add_artifact_promotion_index.down.sql b/scripts/sql/37204600_add_artifact_promotion_index.down.sql new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scripts/sql/37204600_add_artifact_promotion_index.up.sql b/scripts/sql/37204600_add_artifact_promotion_index.up.sql new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scripts/sql/37504600_add_artifact_tagging_indexes.down.sql b/scripts/sql/37304600_add_artifact_tagging_indexes.down.sql similarity index 65% rename from scripts/sql/37504600_add_artifact_tagging_indexes.down.sql rename to scripts/sql/37304600_add_artifact_tagging_indexes.down.sql index ced89ac3f7..120c8984da 100644 --- a/scripts/sql/37504600_add_artifact_tagging_indexes.down.sql +++ b/scripts/sql/37304600_add_artifact_tagging_indexes.down.sql @@ -1,4 +1,4 @@ --- Rollback: drop indexes added by 37504600_add_artifact_tagging_indexes.up.sql +-- Rollback: drop indexes added by 37304600_add_artifact_tagging_indexes.up.sql DROP INDEX IF EXISTS idx_release_tags_artifact_id; DROP INDEX IF EXISTS idx_image_comments_artifact_id; diff --git a/scripts/sql/37504600_add_artifact_tagging_indexes.up.sql b/scripts/sql/37304600_add_artifact_tagging_indexes.up.sql similarity index 100% rename from scripts/sql/37504600_add_artifact_tagging_indexes.up.sql rename to scripts/sql/37304600_add_artifact_tagging_indexes.up.sql diff --git a/scripts/sql/37404600_add_missing_baseline_fks.down.sql b/scripts/sql/37404600_add_missing_baseline_fks.down.sql new file mode 100644 index 0000000000..8a7a63b98c --- /dev/null +++ b/scripts/sql/37404600_add_missing_baseline_fks.down.sql @@ -0,0 +1,2 @@ +ALTER TABLE pipeline_config_override DROP CONSTRAINT IF EXISTS pipeline_config_override_cd_workflow_id_fkey; +ALTER TABLE ci_artifact DROP CONSTRAINT IF EXISTS ci_artifact_parent_ci_artifact_fkey; diff --git a/scripts/sql/37404600_add_missing_baseline_fks.up.sql b/scripts/sql/37404600_add_missing_baseline_fks.up.sql new file mode 100644 index 0000000000..fc0faf5e51 --- /dev/null +++ b/scripts/sql/37404600_add_missing_baseline_fks.up.sql @@ -0,0 +1,29 @@ +-- Two FK constraints that are part of devtron OSS's baseline schema +-- (devtron/scripts/sql/1_insert.up.sql) but were found missing on at least one real +-- installation during db-housekeeping testing (devtron-services-enterprise PR #443). +-- db-housekeeping's database/schemaassert.go refuses to run (AssertSchema) when either +-- is absent, since its cascade-delete logic depends on this exact FK graph. +-- +-- Wrapped in existence checks so this migration is a no-op on installations that already +-- have these constraints (the common case) and only takes effect where they're missing. +-- Both were verified safe to add on the affected cluster: zero rows violated either FK +-- before adding it. + +DO $$ +BEGIN + IF NOT EXISTS ( + SELECT 1 FROM pg_constraint WHERE conname = 'pipeline_config_override_cd_workflow_id_fkey' + ) THEN + ALTER TABLE pipeline_config_override + ADD CONSTRAINT pipeline_config_override_cd_workflow_id_fkey + FOREIGN KEY (cd_workflow_id) REFERENCES cd_workflow(id); + END IF; + + IF NOT EXISTS ( + SELECT 1 FROM pg_constraint WHERE conname = 'ci_artifact_parent_ci_artifact_fkey' + ) THEN + ALTER TABLE ci_artifact + ADD CONSTRAINT ci_artifact_parent_ci_artifact_fkey + FOREIGN KEY (parent_ci_artifact) REFERENCES ci_artifact(id); + END IF; +END $$;