diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 13:00:54 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 13:00:54 +0300 |
commit | 3cccd102ba543e02725d247893729e5c73b38295 (patch) | |
tree | f36a04ec38517f5deaaacb5acc7d949688d1e187 /db/post_migrate/20220318111040_add_indexes_for_primary_email_second_cleanup_migration.rb | |
parent | 205943281328046ef7b4528031b90fbda70c75ac (diff) |
Add latest changes from gitlab-org/gitlab@14-10-stable-eev14.10.0-rc42
Diffstat (limited to 'db/post_migrate/20220318111040_add_indexes_for_primary_email_second_cleanup_migration.rb')
-rw-r--r-- | db/post_migrate/20220318111040_add_indexes_for_primary_email_second_cleanup_migration.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/db/post_migrate/20220318111040_add_indexes_for_primary_email_second_cleanup_migration.rb b/db/post_migrate/20220318111040_add_indexes_for_primary_email_second_cleanup_migration.rb new file mode 100644 index 00000000000..5dcb99b36b6 --- /dev/null +++ b/db/post_migrate/20220318111040_add_indexes_for_primary_email_second_cleanup_migration.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +class AddIndexesForPrimaryEmailSecondCleanupMigration < Gitlab::Database::Migration[1.0] + USERS_INDEX = :index_users_on_id_for_primary_email_migration + EMAIL_INDEX = :index_emails_on_email_user_id + + disable_ddl_transaction! + + def up + unless index_exists_by_name?(:users, USERS_INDEX) + + disable_statement_timeout do + execute <<~SQL + CREATE INDEX CONCURRENTLY #{USERS_INDEX} + ON users (id) INCLUDE (email, confirmed_at) + WHERE confirmed_at IS NOT NULL + SQL + end + end + + add_concurrent_index :emails, [:email, :user_id], name: EMAIL_INDEX + end + + def down + remove_concurrent_index_by_name :users, USERS_INDEX + remove_concurrent_index_by_name :emails, EMAIL_INDEX + end +end |