Module: SchemaMonkey::ActiveRecord::ConnectionAdapters::SchemaStatements::Index

Defined in:
lib/schema_monkey/active_record/connection_adapters/schema_statements.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



67
68
69
70
71
# File 'lib/schema_monkey/active_record/connection_adapters/schema_statements.rb', line 67

def self.included(base)
  base.class_eval do
    alias_method_chain :add_index, :schema_monkey
  end
end

Instance Method Details

#add_index_with_schema_monkey(table_name, column_names, options = {}) ⇒ Object



72
73
74
75
76
77
78
79
80
# File 'lib/schema_monkey/active_record/connection_adapters/schema_statements.rb', line 72

def add_index_with_schema_monkey(table_name, column_names, options={})
  if column_names.is_a? Hash and options.empty?
      options = column_names
      column_names = nil
  end
  Middleware::Migration::Index.start caller: self, operation: :add, table_name: table_name, column_names: column_names, options: options.deep_dup do |env|
    add_index_without_schema_monkey env.table_name, env.column_names, env.options
  end
end