Updated

db/migrate / 20190411173349_add_postcode_indexes_to_signatures.rb

C
35 lines of codes
3 methods
4.3 complexity/method
1 churn
12.9 complexity
45 duplications
class AddPostcodeIndexesToSignatures < ActiveRecord::Migration
  1. AddPostcodeIndexesToSignatures has no descriptive comment
disable_ddl_transaction! def up
  1. Similar code found in 4 nodes Locations: 0 1 2 3
unless index_exists?(:signatures, [:postcode, :petition_id]) execute <<-SQL CREATE INDEX CONCURRENTLY index_signatures_on_postcode_and_petition_id ON signatures USING btree (postcode, petition_id); SQL end unless index_exists?(:signatures, [:postcode, :state, :petition_id]) execute <<-SQL CREATE INDEX CONCURRENTLY index_signatures_on_postcode_and_state_and_petition_id ON signatures USING btree (postcode, state, petition_id); SQL end end def down
  1. Similar code found in 4 nodes Locations: 0 1 2 3
if index_exists?(:signatures, [:postcode, :state, :petition_id]) remove_index :signatures, [:postcode, :state, :petition_id] end if index_exists?(:signatures, [:postcode, :petition_id]) remove_index :signatures, [:postcode, :petition_id] end end private def index_exists?(table, names) select_value("SELECT to_regclass('index_#{table}_on_#{Array(names).join('_and_')}')") end end