diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2018-03-05 11:21:24 +0100 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2018-03-28 14:12:07 +0200 |
commit | 7ea08566f36d97e1cf2b31767ebb122883f4f30e (patch) | |
tree | a0299cf0016016e2ac58098308c92532a5f2d43e | |
parent | cb94afc561c08db1b2312020e9d0a3e2f5837494 (diff) | |
download | gitlab-ce-7ea08566f36d97e1cf2b31767ebb122883f4f30e.tar.gz |
Remove `permanent` from `redirect_routes`
This removes the column that was added in
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15670 since we
will no longer be allowing _permanent_ redirects
-rw-r--r-- | db/post_migrate/20180305100050_remove_permanent_from_redirect_routes.rb | 37 | ||||
-rw-r--r-- | db/schema.rb | 1 |
2 files changed, 37 insertions, 1 deletions
diff --git a/db/post_migrate/20180305100050_remove_permanent_from_redirect_routes.rb b/db/post_migrate/20180305100050_remove_permanent_from_redirect_routes.rb new file mode 100644 index 00000000000..db5165dbe70 --- /dev/null +++ b/db/post_migrate/20180305100050_remove_permanent_from_redirect_routes.rb @@ -0,0 +1,37 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class RemovePermanentFromRedirectRoutes < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + disable_ddl_transaction! + + INDEX_NAME_PERM = "index_redirect_routes_on_path_text_pattern_ops_where_permanent" + INDEX_NAME_TEMP = "index_redirect_routes_on_path_text_pattern_ops_where_temporary" + + def up + # These indexes were created on Postgres only in: + # ReworkRedirectRoutesIndexes: + # https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/16211 + if Gitlab::Database.postgresql? + disable_statement_timeout + + execute "DROP INDEX CONCURRENTLY IF EXISTS #{INDEX_NAME_PERM};" + execute "DROP INDEX CONCURRENTLY IF EXISTS #{INDEX_NAME_TEMP};" + end + + remove_column(:redirect_routes, :permanent) + end + + def down + add_column(:redirect_routes, :permanent, :boolean) + + if Gitlab::Database.postgresql? + disable_statement_timeout + + execute("CREATE INDEX CONCURRENTLY #{INDEX_NAME_PERM} ON redirect_routes (lower(path) varchar_pattern_ops) where (permanent);") + execute("CREATE INDEX CONCURRENTLY #{INDEX_NAME_TEMP} ON redirect_routes (lower(path) varchar_pattern_ops) where (not permanent or permanent is null) ;") + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 3bf42080870..77b3d836287 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -1605,7 +1605,6 @@ ActiveRecord::Schema.define(version: 20180327101207) do t.string "path", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.boolean "permanent" end add_index "redirect_routes", ["path"], name: "index_redirect_routes_on_path", unique: true, using: :btree |