summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Stark <stark@gitlab.com>2017-10-02 21:32:29 +0100
committerGreg Stark <stark@gitlab.com>2017-10-04 15:16:57 +0100
commita88f0d2dbbf4dbd351999204fc0ee3492fad20ad (patch)
treebbd746ab05ab86c0a837dcbe20934f021f238718
parent4a0f720a502ac02423cb9db20727ba386de3e1f1 (diff)
downloadgitlab-ce-remove-unused-updated-by-column.tar.gz
Remove the appearances.updated_by column which appears to have beenremove-unused-updated-by-column
added to schema.rb but was never added in a migration. This has caused inconsistencies between developer and customer databases and caused schema.rb to vary from one state and the other over time. In commit 40104eea the appearances table was added with the updated_by column but the 20160222153918_create_appearances_ce.rb migration in commit 9a2869ab never added the updated_by column. As a result the schema.rb has flipped back and forth several times since as different developers have checked in schemas with or without this column.... It's not used so let's remove it once and for all.
-rw-r--r--changelogs/unreleased/remove-unused-updated-by-column.yml5
-rw-r--r--db/migrate/20171002160123_remove_never_used_updated_by.rb38
2 files changed, 43 insertions, 0 deletions
diff --git a/changelogs/unreleased/remove-unused-updated-by-column.yml b/changelogs/unreleased/remove-unused-updated-by-column.yml
new file mode 100644
index 00000000000..9a890912f4a
--- /dev/null
+++ b/changelogs/unreleased/remove-unused-updated-by-column.yml
@@ -0,0 +1,5 @@
+---
+title: Remove never-used appearances.updated_by column
+merge_request:
+author:
+type: fixed
diff --git a/db/migrate/20171002160123_remove_never_used_updated_by.rb b/db/migrate/20171002160123_remove_never_used_updated_by.rb
new file mode 100644
index 00000000000..1c1865e2ae4
--- /dev/null
+++ b/db/migrate/20171002160123_remove_never_used_updated_by.rb
@@ -0,0 +1,38 @@
+# See http://doc.gitlab.com/ce/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+
+class RemoveNeverUsedUpdatedBy < ActiveRecord::Migration
+ include Gitlab::Database::MigrationHelpers
+
+ # Set this constant to true if this migration requires downtime.
+ DOWNTIME = false
+
+ # When a migration requires downtime you **must** uncomment the following
+ # constant and define a short and easy to understand explanation as to why the
+ # migration requires downtime.
+ # DOWNTIME_REASON = ''
+
+ # When using the methods "add_concurrent_index", "remove_concurrent_index" or
+ # "add_column_with_default" you must disable the use of transactions
+ # as these methods can not run in an existing transaction.
+ # When using "add_concurrent_index" or "remove_concurrent_index" methods make sure
+ # that either of them is the _only_ method called in the migration,
+ # any other changes should go in a separate migration.
+ # This ensures that upon failure _only_ the index creation or removing fails
+ # and can be retried or reverted easily.
+ #
+ # To disable transactions uncomment the following line and remove these
+ # comments:
+ # disable_ddl_transaction!
+
+ def up
+ return unless column_exists? :appearances, :updated_by
+ remove_column :appearances, :updated_by
+ end
+
+ # This column may or may not have existed prior to the migration
+ # depending on the schema that the database was installed with.
+ def down
+ add_column :appearances, :updated_by, :integer
+ end
+end