Loading
Draft: [BLOCKED] Adding bigint indexes and fk for deployment_merge_requests
BLOCKED VIA: #507695 (comment 2970120358)
What does this MR do and why?
Adding bigint indexes and fk for deployment_merge_requests
This MR adds sync indexes, non-valid fks, and prepares fk validation for deployment_merge_requests This is for the bigint migration of columns deployment_id, merge_request_id, environment_id
Changelog: added
References
Screenshots or screen recordings
gitlabhq_development=# \d+ deployment_merge_requests
Table "public.deployment_merge_requests"
Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description
------------------------------------+--------+-----------+----------+---------+---------+-------------+--------------+-------------
deployment_id | bigint | | not null | | plain | | |
merge_request_id | bigint | | not null | | plain | | |
environment_id | bigint | | | | plain | | |
project_id | bigint | | | | plain | | |
deployment_id_convert_to_bigint | bigint | | | | plain | | |
merge_request_id_convert_to_bigint | bigint | | | | plain | | |
environment_id_convert_to_bigint | bigint | | | | plain | | |
Indexes:
"deployment_merge_requests_pkey" PRIMARY KEY, btree (deployment_id, merge_request_id)
"bigint_idx_58bf293f31365919110b" UNIQUE, btree (environment_id_convert_to_bigint, merge_request_id_convert_to_bigint)
"bigint_idx_bc7ca4c7f2ca0c624100" btree (merge_request_id_convert_to_bigint)
"bigint_idx_dd999be21656bf3d4bcc" UNIQUE, btree (deployment_id_convert_to_bigint, merge_request_id_convert_to_bigint)
"idx_environment_merge_requests_unique_index" UNIQUE, btree (environment_id, merge_request_id)
"index_deployment_merge_requests_on_merge_request_id" btree (merge_request_id)
Foreign-key constraints:
"fk_a064ff4453" FOREIGN KEY (environment_id) REFERENCES environments(id) ON DELETE CASCADE
"fk_a064ff4453_tmp" FOREIGN KEY (environment_id_convert_to_bigint) REFERENCES environments(id) ON DELETE CASCADE
"fk_rails_86a6d8bf12" FOREIGN KEY (merge_request_id) REFERENCES merge_requests(id) ON DELETE CASCADE
"fk_rails_86a6d8bf12_tmp" FOREIGN KEY (merge_request_id_convert_to_bigint) REFERENCES merge_requests(id_convert_to_bigint) ON DELETE CASCADE
"fk_rails_dcbce9f4df" FOREIGN KEY (deployment_id) REFERENCES deployments(id) ON DELETE CASCADE
"fk_rails_dcbce9f4df_tmp" FOREIGN KEY (deployment_id_convert_to_bigint) REFERENCES deployments(id_convert_to_bigint) ON DELETE CASCADE
Triggers:
trigger_cfbec3f07e2b BEFORE INSERT OR UPDATE ON deployment_merge_requests FOR EACH ROW EXECUTE FUNCTION trigger_cfbec3f07e2b()
Access method: heapHow to set up and validate locally
https://docs.gitlab.com/development/database/foreign_keys/#test-database-fk-changes-locally
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #581430 (closed)
Edited by Max Fan