Skip to content

Remove serialised diff and commit columns

Sean McGivern requested to merge remove-mr-diff-serialised-columns into master

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

Related issues

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/39533.

Edited by Yorick Peterse

Merge request reports

Loading