summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke "Jared" Bennett <lbennett@gitlab.com>2017-05-03 14:51:53 +0100
committerLuke "Jared" Bennett <lbennett@gitlab.com>2017-05-03 14:51:53 +0100
commitf3732e167b3d1ab58cbd49261ef7624959387cab (patch)
tree3ddaf61fe8bfb0d3a293e5a955a7f4cf6618973b
parent4fed7036aaf25dcf4fb4ff9660215e397654fe4c (diff)
downloadgitlab-ce-f3732e167b3d1ab58cbd49261ef7624959387cab.tar.gz
[ci skip] Update migration to be reversible and use add_column_with_default
-rw-r--r--db/migrate/20170428123910_add_clientside_sentry_to_application_settings.rb37
1 files changed, 28 insertions, 9 deletions
diff --git a/db/migrate/20170428123910_add_clientside_sentry_to_application_settings.rb b/db/migrate/20170428123910_add_clientside_sentry_to_application_settings.rb
index 380060b18b3..f3e08aed819 100644
--- a/db/migrate/20170428123910_add_clientside_sentry_to_application_settings.rb
+++ b/db/migrate/20170428123910_add_clientside_sentry_to_application_settings.rb
@@ -1,12 +1,31 @@
-# rubocop:disable all
class AddClientsideSentryToApplicationSettings < ActiveRecord::Migration
- DOWNTIME = true
- DOWNTIME_REASON = 'This migration requires downtime because we must add 2 new columns, 1 of which has a default value.'
-
- def change
- change_table :application_settings do |t|
- t.boolean :clientside_sentry_enabled, default: false
- t.string :clientside_sentry_dsn
- end
+ 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" 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" make sure that this
+ # method 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 fails and can be retried or reverted easily.
+ #
+ # To disable transactions uncomment the following line and remove these
+ # comments:
+ disable_ddl_transaction!
+
+ def up
+ add_column_with_default :application_settings, :clientside_sentry_enabled, :boolean, default: false
+ add_column :application_settings, :clientside_sentry_dsn, :string
+ end
+
+ def down
+ remove_columns :application_settings, :clientside_sentry_enabled, :clientside_sentry_dsn
end
end