diff options
author | Brett Walker <brett@digitalmoksha.com> | 2017-09-09 11:05:59 +0200 |
---|---|---|
committer | Brett Walker <brett@digitalmoksha.com> | 2017-09-23 15:23:11 +0200 |
commit | 86698c960bb95e51bc6141b361ba3f1ee79abcdf (patch) | |
tree | d5384826b7f3bb1f9016b2d361bc4947b1e2158b | |
parent | ecdf851335ff10a6daade26cbf79bea8b897858e (diff) | |
download | gitlab-ce-86698c960bb95e51bc6141b361ba3f1ee79abcdf.tar.gz |
use `add_concurrent_index` to add the :confirmation_token index
-rw-r--r-- | db/migrate/20170904092148_add_email_confirmation.rb | 1 | ||||
-rw-r--r-- | db/migrate/20170909090114_add_email_confirmation_index.rb | 36 |
2 files changed, 36 insertions, 1 deletions
diff --git a/db/migrate/20170904092148_add_email_confirmation.rb b/db/migrate/20170904092148_add_email_confirmation.rb index b4c574b6a99..b6ecf1dd9da 100644 --- a/db/migrate/20170904092148_add_email_confirmation.rb +++ b/db/migrate/20170904092148_add_email_confirmation.rb @@ -29,6 +29,5 @@ class AddEmailConfirmation < ActiveRecord::Migration add_column :emails, :confirmation_token, :string add_column :emails, :confirmed_at, :datetime add_column :emails, :confirmation_sent_at, :datetime - add_index :emails, :confirmation_token, unique: true end end diff --git a/db/migrate/20170909090114_add_email_confirmation_index.rb b/db/migrate/20170909090114_add_email_confirmation_index.rb new file mode 100644 index 00000000000..e488f339247 --- /dev/null +++ b/db/migrate/20170909090114_add_email_confirmation_index.rb @@ -0,0 +1,36 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class AddEmailConfirmationIndex < 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! + + # Not necessary to remove duplicates, as :confirmation_token is a new column + def up + add_concurrent_index :emails, :confirmation_token, unique: true + end + + def down + remove_index :emails, :confirmation_token if index_exists?(:emails, :confirmation_token) + end +end |