diff options
author | Robert Speicher <robert@gitlab.com> | 2018-02-23 17:01:12 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2018-02-23 17:01:12 +0000 |
commit | 3540841b214846deff7cd79baf6cc86aa8653b81 (patch) | |
tree | fcba4123e25bd6ab714cc496f4fd6b93064e993f /db | |
parent | d600a6ef7117a7c113cbdf5394e04d8938810b9b (diff) | |
parent | 52c56400f11cbf7864bdadb917fa27a4a5deaca5 (diff) | |
download | gitlab-ce-3540841b214846deff7cd79baf6cc86aa8653b81.tar.gz |
Merge branch 'master' into '29497-pages-custom-domain-dns-verification'
# Conflicts:
# db/schema.rb
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20180215181245_users_name_lower_index.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/db/migrate/20180215181245_users_name_lower_index.rb b/db/migrate/20180215181245_users_name_lower_index.rb new file mode 100644 index 00000000000..d3f68cb7d45 --- /dev/null +++ b/db/migrate/20180215181245_users_name_lower_index.rb @@ -0,0 +1,29 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class UsersNameLowerIndex < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + INDEX_NAME = 'index_on_users_name_lower' + + disable_ddl_transaction! + + def up + return unless Gitlab::Database.postgresql? + + # On GitLab.com this produces an index with a size of roughly 60 MB. + execute "CREATE INDEX CONCURRENTLY #{INDEX_NAME} ON users (LOWER(name))" + end + + def down + return unless Gitlab::Database.postgresql? + + if supports_drop_index_concurrently? + execute "DROP INDEX CONCURRENTLY IF EXISTS #{INDEX_NAME}" + else + execute "DROP INDEX IF EXISTS #{INDEX_NAME}" + end + end +end |