about summary refs log tree commit diff
path: root/db/migrate/20180514130000_improve_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb
blob: 2573bdf949029d9c6c57df8cefe3915aea1fd44e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
# frozen_string_literal: true

class ImproveIndexOnStatusesForApiV1AccountsAccountIdStatuses < ActiveRecord::Migration[5.1]
  disable_ddl_transaction!

  def change
    add_index :statuses, [:account_id, :id, :visibility], where: 'visibility IN (0, 1, 2)', algorithm: :concurrently
    add_index :statuses, [:account_id, :id], where: 'visibility = 3', algorithm: :concurrently
    remove_index :statuses, column: [:account_id, :id, :visibility, :updated_at], order: { id: :desc }, algorithm: :concurrently, name: :index_statuses_20180106
  end
end