diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2018-03-07 02:01:03 +0100 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2018-03-28 14:12:08 +0200 |
commit | db75057c72e5b3c171fce898bbdeb57bff5a77b7 (patch) | |
tree | 5b427ea2936241cf797af4100f18d8efd783b3ac | |
parent | f2b20e0531308d9fad90df1ed6c4af91a46327cf (diff) | |
download | gitlab-ce-db75057c72e5b3c171fce898bbdeb57bff5a77b7.tar.gz |
Add the RedirectRoute#path index setup_postgresql
-rw-r--r-- | db/post_migrate/20180306164012_add_path_index_to_redirect_routes.rb | 18 | ||||
-rw-r--r-- | lib/tasks/migrate/setup_postgresql.rake | 2 |
2 files changed, 11 insertions, 9 deletions
diff --git a/db/post_migrate/20180306164012_add_path_index_to_redirect_routes.rb b/db/post_migrate/20180306164012_add_path_index_to_redirect_routes.rb index 9ea4d11bb20..d6fb4f06695 100644 --- a/db/post_migrate/20180306164012_add_path_index_to_redirect_routes.rb +++ b/db/post_migrate/20180306164012_add_path_index_to_redirect_routes.rb @@ -22,17 +22,17 @@ class AddPathIndexToRedirectRoutes < ActiveRecord::Migration disable_statement_timeout - if_not_exists = Gitlab::Database.version.to_f >= 9.5 ? "IF NOT EXISTS" : "" - - # Unique index on lower(path) across both types of redirect_routes: - execute("CREATE UNIQUE INDEX CONCURRENTLY #{if_not_exists} #{INDEX_NAME} ON redirect_routes (lower(path) varchar_pattern_ops);") + unless index_exists_by_name?(:redirect_routes, INDEX_NAME) + execute("CREATE UNIQUE INDEX CONCURRENTLY #{INDEX_NAME} ON redirect_routes (lower(path) varchar_pattern_ops);") + end end def down - return unless Gitlab::Database.postgresql? - - disable_statement_timeout - - execute("DROP INDEX IF EXISTS #{INDEX_NAME};") + # Do nothing in the DOWN. Since the index above is originally created in the + # `ReworkRedirectRoutesIndexes`. This migration wouldn't have actually + # created any new index. + # + # This migration is only here to be called form `setup_postgresql.rake` so + # any newly created database would have this index. end end diff --git a/lib/tasks/migrate/setup_postgresql.rake b/lib/tasks/migrate/setup_postgresql.rake index f0c307e0c87..af30ecb0e9b 100644 --- a/lib/tasks/migrate/setup_postgresql.rake +++ b/lib/tasks/migrate/setup_postgresql.rake @@ -8,6 +8,7 @@ task setup_postgresql: :environment do require Rails.root.join('db/migrate/20170503185032_index_redirect_routes_path_for_like') require Rails.root.join('db/migrate/20171220191323_add_index_on_namespaces_lower_name.rb') require Rails.root.join('db/migrate/20180215181245_users_name_lower_index.rb') + require Rails.root.join('db/post_migrate/20180306164012_add_path_index_to_redirect_routes.rb') NamespacesProjectsPathLowerIndexes.new.up AddUsersLowerUsernameEmailIndexes.new.up @@ -17,4 +18,5 @@ task setup_postgresql: :environment do IndexRedirectRoutesPathForLike.new.up AddIndexOnNamespacesLowerName.new.up UsersNameLowerIndex.new.up + AddPathIndexToRedirectRoutes.new.up end |