Sha256: 78d0f3896fe6cbca68a1d8b448be2885e685164ee96a7de8d8b8780e90c2903e

Contents?: true

Size: 1018 Bytes

Versions: 6

Compression:

Stored size: 1018 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, options)
          index_name = index_name_for_remove(table_name, options)
          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

6 entries across 6 versions & 1 rubygems

Version Path
ridgepole-0.8.0.rc1 lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb
ridgepole-0.7.7 lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb
ridgepole-0.7.6 lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb
ridgepole-0.7.5 lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb
ridgepole-0.7.5.beta3 lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb
ridgepole-0.7.5.beta2 lib/ridgepole/ext/abstract_mysql_adapter/use_alter_index.rb