Commit e67a2daf authored by Jason Goodman's avatar Jason Goodman Committed by Andreas Brandl

Create index on environments project_id, state, environment_type

Replace index on environments project_id and state
parent b3868525
---
title: Replace index on environments table project_id and state with project_id, state, and environment_type
merge_request: 19902
author:
type: performance
# frozen_string_literal: true
class AddIndexToEnvironmentsOnProjectIdStateEnvironmentType < ActiveRecord::Migration[5.2]
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
OLD_INDEX_NAME = 'index_environments_on_project_id_and_state'.freeze
NEW_INDEX_NAME = 'index_environments_on_project_id_state_environment_type'.freeze
disable_ddl_transaction!
def up
add_concurrent_index(:environments, [:project_id, :state, :environment_type], name: NEW_INDEX_NAME)
remove_concurrent_index_by_name(:environments, OLD_INDEX_NAME)
end
def down
add_concurrent_index(:environments, [:project_id, :state], name: OLD_INDEX_NAME)
remove_concurrent_index_by_name(:environments, NEW_INDEX_NAME)
end
end
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2019_11_15_091425) do ActiveRecord::Schema.define(version: 2019_11_18_182722) do
# These are extensions that must be enabled in order to support this database # These are extensions that must be enabled in order to support this database
enable_extension "pg_trgm" enable_extension "pg_trgm"
...@@ -1435,7 +1435,7 @@ ActiveRecord::Schema.define(version: 2019_11_15_091425) do ...@@ -1435,7 +1435,7 @@ ActiveRecord::Schema.define(version: 2019_11_15_091425) do
t.index ["name"], name: "index_environments_on_name_varchar_pattern_ops", opclass: :varchar_pattern_ops t.index ["name"], name: "index_environments_on_name_varchar_pattern_ops", opclass: :varchar_pattern_ops
t.index ["project_id", "name"], name: "index_environments_on_project_id_and_name", unique: true t.index ["project_id", "name"], name: "index_environments_on_project_id_and_name", unique: true
t.index ["project_id", "slug"], name: "index_environments_on_project_id_and_slug", unique: true t.index ["project_id", "slug"], name: "index_environments_on_project_id_and_slug", unique: true
t.index ["project_id", "state"], name: "index_environments_on_project_id_and_state" t.index ["project_id", "state", "environment_type"], name: "index_environments_on_project_id_state_environment_type"
end end
create_table "epic_issues", id: :serial, force: :cascade do |t| create_table "epic_issues", id: :serial, force: :cascade do |t|
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment