From d3704fdb09d79279c8dfde591087aa723af29891 Mon Sep 17 00:00:00 2001 From: alpaca-tc Date: Mon, 8 May 2017 02:00:20 +0900 Subject: [PATCH] Add effective index to subscriptions (#2885) --- .../20170507141759_optimize_index_subscriptions.rb | 11 +++++++++++ db/schema.rb | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20170507141759_optimize_index_subscriptions.rb diff --git a/db/migrate/20170507141759_optimize_index_subscriptions.rb b/db/migrate/20170507141759_optimize_index_subscriptions.rb new file mode 100644 index 000000000..26acd5c4d --- /dev/null +++ b/db/migrate/20170507141759_optimize_index_subscriptions.rb @@ -0,0 +1,11 @@ +class OptimizeIndexSubscriptions < ActiveRecord::Migration[5.0] + def up + add_index :subscriptions, [:account_id, :callback_url], unique: true + remove_index :subscriptions, [:callback_url, :account_id] + end + + def down + add_index :subscriptions, [:callback_url, :account_id], unique: true + remove_index :subscriptions, [:account_id, :callback_url] + end +end diff --git a/db/schema.rb b/db/schema.rb index f6a13671c..21fce0df7 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170425202925) do +ActiveRecord::Schema.define(version: 20170507141759) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -288,7 +288,7 @@ ActiveRecord::Schema.define(version: 20170425202925) do t.datetime "created_at", null: false t.datetime "updated_at", null: false t.datetime "last_successful_delivery_at" - t.index ["callback_url", "account_id"], name: "index_subscriptions_on_callback_url_and_account_id", unique: true, using: :btree + t.index ["account_id", "callback_url"], name: "index_subscriptions_on_account_id_and_callback_url", unique: true, using: :btree end create_table "tags", force: :cascade do |t|