Remove serialised diff and commit columns
This removes the st_diffs
and st_commits
columns, so that we can guarantee these are no longer used on GitLab.com or customer instances. (Everything has already been migrated on GitLab.com.) This does not optimise anything in particular - that can now be done in later MRs.
Migration output:
== 20171121135738 CleanUpFromMergeRequestDiffsAndCommits: migrating ===========
== 20171121135738 CleanUpFromMergeRequestDiffsAndCommits: migrated (0.0663s) ==
== 20171121160421 RemoveMergeRequestDiffStCommitsAndStDiffs: migrating ========
-- remove_column(:merge_request_diffs, :st_commits, :text)
-> 0.0049s
-- remove_column(:merge_request_diffs, :st_diffs, :text)
-> 0.0004s
== 20171121160421 RemoveMergeRequestDiffStCommitsAndStDiffs: migrated (0.0055s)
Post-deployment migration output (from staging):
[ stg ] production> AddIndexOnMergeRequestDiffsMergeRequestIdAndId.new.up
-- transaction_open?()
-> 0.0001s
-- execute("SET statement_timeout TO 0")
-> 0.0018s
-- add_index(:merge_request_diffs, [:merge_request_id, :id], {:unique=>true, :algorithm=>:concurrently})
-> 23.0014s
=> #<PG::Result:0x00007f635f2824a8 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=0>
[ stg ] production> RemoveIndexOnMergeRequestDiffsMergeRequestDiffId.new.up
-- index_exists?(:merge_request_diffs, :merge_request_id)
-> 0.0059s
-- transaction_open?()
-> 0.0000s
-- select_one("SELECT current_setting('server_version_num') AS v")
-> 0.0008s
-- execute("SET statement_timeout TO 0")
-> 0.0009s
-- remove_index(:merge_request_diffs, {:algorithm=>:concurrently, :column=>:merge_request_id})
-> 0.0510s
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
When removing columns, tables, indexes or other structures:
-
Removed these in a post-deployment migration -
Made sure the application no longer uses (or ignores) these structures
General Checklist
-
Changelog entry added, if necessary - 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
Related issues
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/39533.
Edited by Yorick Peterse