diff options
author | Luke "Jared" Bennett <lbennett@gitlab.com> | 2017-05-03 14:51:53 +0100 |
---|---|---|
committer | Luke "Jared" Bennett <lbennett@gitlab.com> | 2017-05-03 14:51:53 +0100 |
commit | f3732e167b3d1ab58cbd49261ef7624959387cab (patch) | |
tree | 3ddaf61fe8bfb0d3a293e5a955a7f4cf6618973b /db | |
parent | 4fed7036aaf25dcf4fb4ff9660215e397654fe4c (diff) | |
download | gitlab-ce-f3732e167b3d1ab58cbd49261ef7624959387cab.tar.gz |
[ci skip] Update migration to be reversible and use add_column_with_default
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20170428123910_add_clientside_sentry_to_application_settings.rb | 37 |
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 |