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-21 13:39:49 +0100 |
commit | eb4a2c12c46213a7a0c41779880e5fdab1042cd1 (patch) | |
tree | 37970d94674d25a8d1061da9d5ee221056684b3c | |
parent | 7af601c7d002f9978379abfb71ea2ad2d991ffbe (diff) | |
download | gitlab-ce-bvl-no-permanent-redirect.tar.gz |
Add the RedirectRoute#path index setup_postgresqlbvl-no-permanent-redirect
-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 f8cac2f2b5e..cb4a3992984 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 @@ -18,17 +18,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 |