Merge branch 'ashmckenzie/add-created-at-index-to-events' into 'master'

Add index to events and audit_events tables

Closes gitlab-com/Product#309

See merge request gitlab-org/gitlab-ce!29194
This commit is contained in:
Thong Kuah 2019-06-18 04:05:19 +00:00
commit b6cc32b0e0
2 changed files with 27 additions and 0 deletions

View File

@ -0,0 +1,25 @@
# frozen_string_literal: true
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
# for more information on how to write migrations for GitLab.
class AddIndexToEventsAndAuditEventsCreatedAtAuthorId < ActiveRecord::Migration[5.1]
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
INDEX_NAME = 'analytics_index_%s_on_created_at_and_author_id'.freeze
EVENTS_INDEX_NAME = (INDEX_NAME % 'events').freeze
AUDIT_EVENTS_INDEX_NAME = (INDEX_NAME % 'audit_events').freeze
disable_ddl_transaction!
def up
add_concurrent_index :events, [:created_at, :author_id], name: EVENTS_INDEX_NAME
add_concurrent_index :audit_events, [:created_at, :author_id], name: AUDIT_EVENTS_INDEX_NAME
end
def down
remove_concurrent_index_by_name :events, EVENTS_INDEX_NAME
remove_concurrent_index_by_name :audit_events, AUDIT_EVENTS_INDEX_NAME
end
end

View File

@ -335,6 +335,7 @@ ActiveRecord::Schema.define(version: 20190613030606) do
t.text "details"
t.datetime "created_at"
t.datetime "updated_at"
t.index ["created_at", "author_id"], name: "analytics_index_audit_events_on_created_at_and_author_id", using: :btree
t.index ["entity_id", "entity_type"], name: "index_audit_events_on_entity_id_and_entity_type", using: :btree
end
@ -1219,6 +1220,7 @@ ActiveRecord::Schema.define(version: 20190613030606) do
t.string "target_type"
t.index ["action"], name: "index_events_on_action", using: :btree
t.index ["author_id", "project_id"], name: "index_events_on_author_id_and_project_id", using: :btree
t.index ["created_at", "author_id"], name: "analytics_index_events_on_created_at_and_author_id", using: :btree
t.index ["project_id", "created_at"], name: "index_events_on_project_id_and_created_at", using: :btree
t.index ["project_id", "id"], name: "index_events_on_project_id_and_id", using: :btree
t.index ["target_type", "target_id"], name: "index_events_on_target_type_and_target_id", using: :btree