diff --git a/db/docs/project_relation_export_uploads.yml b/db/docs/project_relation_export_uploads.yml index a184583a2620ee40ccef8ba41a5c90788120affd..59956d482e612098f92842da2d09eb0350f6145b 100644 --- a/db/docs/project_relation_export_uploads.yml +++ b/db/docs/project_relation_export_uploads.yml @@ -17,5 +17,4 @@ desired_sharding_key: table: project_relation_exports sharding_key: project_id belongs_to: relation_export - awaiting_backfill_on_parent: true table_size: small diff --git a/db/docs/project_relation_exports.yml b/db/docs/project_relation_exports.yml index aa4277af68aefe5d30a56cf5687504822d7c1db2..b94ceab100975e5ca257f94b3018ea665b85ee52 100644 --- a/db/docs/project_relation_exports.yml +++ b/db/docs/project_relation_exports.yml @@ -8,14 +8,6 @@ description: Used to track the generation of relation export files for projects introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90624 milestone: '15.2' gitlab_schema: gitlab_main_cell -desired_sharding_key: - project_id: - references: projects - backfill_via: - parent: - foreign_key: project_export_job_id - table: project_export_jobs - sharding_key: project_id - belongs_to: project_export_job -desired_sharding_key_migration_job_name: BackfillProjectRelationExportsProjectId table_size: small +sharding_key: + project_id: projects diff --git a/db/post_migrate/20250210065256_validate_project_relation_exports_project_id_not_null_constraint.rb b/db/post_migrate/20250210065256_validate_project_relation_exports_project_id_not_null_constraint.rb new file mode 100644 index 0000000000000000000000000000000000000000..dbb34e255b7ad798013d9ece455dcfd66b188847 --- /dev/null +++ b/db/post_migrate/20250210065256_validate_project_relation_exports_project_id_not_null_constraint.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +class ValidateProjectRelationExportsProjectIdNotNullConstraint < Gitlab::Database::Migration[2.2] + milestone '17.10' + + def up + validate_not_null_constraint :project_relation_exports, :project_id + end + + def down + # no-op + end +end diff --git a/db/schema_migrations/20250210065256 b/db/schema_migrations/20250210065256 new file mode 100644 index 0000000000000000000000000000000000000000..933fe853235f78a0343a98a1491d46e404d3d0dd --- /dev/null +++ b/db/schema_migrations/20250210065256 @@ -0,0 +1 @@ +9f0cfe2f27bf8bf3e0e8000df91230a893118064fd115077e7722c680a5ae7e2 \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 294c8afc0cfd93599a05f9b1a7fb783bc68a45f7..3dbf7639109b0ea5946e34ad01e7fb119c8fb4bb 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -19797,7 +19797,8 @@ CREATE TABLE project_relation_exports ( project_id bigint, CONSTRAINT check_15e644d856 CHECK ((char_length(jid) <= 255)), CONSTRAINT check_4b5880b795 CHECK ((char_length(relation) <= 255)), - CONSTRAINT check_dbd1cf73d0 CHECK ((char_length(export_error) <= 300)) + CONSTRAINT check_dbd1cf73d0 CHECK ((char_length(export_error) <= 300)), + CONSTRAINT check_f461e3537f CHECK ((project_id IS NOT NULL)) ); CREATE SEQUENCE project_relation_exports_id_seq @@ -27251,9 +27252,6 @@ ALTER TABLE sprints ALTER TABLE web_hook_logs ADD CONSTRAINT check_df72cb58f5 CHECK ((char_length(url_hash) <= 44)) NOT VALID; -ALTER TABLE project_relation_exports - ADD CONSTRAINT check_f461e3537f CHECK ((project_id IS NOT NULL)) NOT VALID; - ALTER TABLE merge_request_blocks ADD CONSTRAINT check_f8034ca45e CHECK ((project_id IS NOT NULL)) NOT VALID;