Resolve "Add a `merge_request_diff_id` column to `merge_requests`"
Local tests
gitlabhq_development=# SELECT COUNT(*) FROM merge_requests;
count
-------
13938
(1 row)
Time: 3.700 ms
gitlabhq_development=# SELECT COUNT(*) FROM merge_request_diffs;
count
-------
85176
(1 row)
Time: 9.955 ms
Migration output:
== 20171025110159 AddLatestMergeRequestDiffIdToMergeRequests: migrating =======
-- add_column(:merge_requests, :latest_merge_request_diff_id, :integer, {:index=>true})
-> 0.0024s
-- transaction_open?()
-> 0.0000s
-- execute("SET statement_timeout TO 0")
-> 0.0004s
-- execute("ALTER TABLE merge_requests\nADD CONSTRAINT fk_06067f5644\nFOREIGN KEY (latest_merge_request_diff_id)\nREFERENCES merge_request_diffs (id)\nON DELETE SET NULL\nNOT VALID;\n")
-> 0.0024s
-- execute("ALTER TABLE merge_requests VALIDATE CONSTRAINT fk_06067f5644;")
-> 0.0114s
== 20171025110159 AddLatestMergeRequestDiffIdToMergeRequests: migrated (0.0172s)
== 20171026082505 PopulateMergeRequestsLatestMergeRequestDiffId: migrating ====
== 20171026082505 PopulateMergeRequestsLatestMergeRequestDiffId: migrated (1.2350s)
Database Checklist
When adding migrations:
-
Updated db/schema.rb
-
Added a down
method so the migration can be reverted -
Added the output of the migration(s) to the MR body -
Added the execution time of the migration(s) to the MR body -
Added tests for the migration in spec/migrations
if necessary (e.g. when migrating data) -
Made sure the migration won't interfere with a running GitLab cluster, for example by disabling transactions for long running migrations
General Checklist
-
Changelog entry added, if necessary -
Tests added for this feature/bug - Review
-
Has been reviewed by Backend -
Has been reviewed by Database
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Squashed related commits together
Part of #37631 (closed).
Edited by Yorick Peterse