diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-07-26 14:54:45 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-07-26 14:54:45 +0200 |
commit | 79a7f7b6e59fa1225c440547796331caedabeaab (patch) | |
tree | f002dd7d26c38f358e626e269543628e06c4cb4b /db/migrate/20170724214302_add_lower_path_index_to_redirect_routes.rb | |
parent | 7d6538f2e2a6f1b0808a77e347a9083295b17c8c (diff) | |
parent | 5f35901a01ff822ba1e637251d9726a41e73ed17 (diff) | |
download | gitlab-ce-79a7f7b6e59fa1225c440547796331caedabeaab.tar.gz |
Merge branch 'master' into backstage/gb/migrate-stages-statuses
* master: (110 commits)
Add missing colon
Fix project wiki web_url spec
Resolve "Memory usage notice doesn't link anywhere"
Docs new topic "user/index"
Implement GRPC call to RepositoryService
Pending delete projects should not show in deploy keys
Remove outdated ~Frontend label in CONTRIBUTING.md
Fixes 500 error caused by pending delete projects in admin dashboard
Add lower path index to redirect_routes
Remove project_key from the Jira configuration
Update CHANGELOG.md for 9.4.1
Enable gitaly_post_upload_pack by default
Add `api` prefix as a top level route in the spec.
Move relative_path to the element that is being clicked
Bumps Gitlab Omniauth LDAP version
Add directives to Vue component ordering
synchronize ukrainian translation in zanata again
v3 API is unsupported after 9.5, but may not be removed
Fix vertical alignment in firefox and safari for pipeline mini graph
Adds link_to_gfm method instrumentation
...
Conflicts:
db/schema.rb
Diffstat (limited to 'db/migrate/20170724214302_add_lower_path_index_to_redirect_routes.rb')
-rw-r--r-- | db/migrate/20170724214302_add_lower_path_index_to_redirect_routes.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/db/migrate/20170724214302_add_lower_path_index_to_redirect_routes.rb b/db/migrate/20170724214302_add_lower_path_index_to_redirect_routes.rb new file mode 100644 index 00000000000..db60c2087b9 --- /dev/null +++ b/db/migrate/20170724214302_add_lower_path_index_to_redirect_routes.rb @@ -0,0 +1,34 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class AddLowerPathIndexToRedirectRoutes < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + INDEX_NAME = 'index_on_redirect_routes_lower_path' + + disable_ddl_transaction! + + def up + return unless Gitlab::Database.postgresql? + + execute "CREATE INDEX CONCURRENTLY #{INDEX_NAME} ON redirect_routes (LOWER(path));" + end + + def down + return unless Gitlab::Database.postgresql? + + # Why not use remove_concurrent_index_by_name? + # + # `index_exists?` doesn't work on this index. Perhaps this is related to the + # fact that the index doesn't show up in the schema. And apparently it isn't + # trivial to write a query that checks for an index. BUT there is a + # convenient `IF EXISTS` parameter for `DROP INDEX`. + if supports_drop_index_concurrently? + disable_statement_timeout + execute "DROP INDEX CONCURRENTLY IF EXISTS #{INDEX_NAME};" + else + execute "DROP INDEX IF EXISTS #{INDEX_NAME};" + end + end +end |