Sha256: 3a2f36d5fd3cd276da729da0781a5fcf2761b5978bed537ea8876d5f5842fba2

Contents?: true

Size: 956 Bytes

Versions: 5

Compression:

Stored size: 956 Bytes

Contents

require 'active_record/connection_adapters/abstract_mysql_adapter'

module Ridgepole
  module Ext
    module AbstractMysqlAdapter
      module UseAlterIndex
        def add_index(table_name, column_name, options = {})
          index_name, index_type, index_columns, index_options, _index_algorithm, index_using = add_index_options(table_name, column_name, options)

          # cannot specify index_algorithm
          execute "ALTER TABLE #{quote_table_name(table_name)} ADD #{index_type} INDEX #{quote_column_name(index_name)} #{index_using} (#{index_columns})#{index_options}"
        end

        def remove_index!(table_name, index_name)
          execute "ALTER TABLE #{quote_table_name(table_name)} DROP INDEX #{quote_column_name(index_name)}"
        end
      end
    end
  end
end

module ActiveRecord
  module ConnectionAdapters
    class AbstractMysqlAdapter
      prepend Ridgepole::Ext::AbstractMysqlAdapter::UseAlterIndex
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ridgepole-0.7.5.beta lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb
ridgepole-0.7.4 lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb
ridgepole-0.7.3 lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb
ridgepole-0.7.3.beta3 lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb
ridgepole-0.7.3.beta2 lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb