Module: SchemaMonkey::ActiveRecord::ConnectionAdapters::MysqlAdapter

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/schema_monkey/active_record/connection_adapters/mysql_adapter.rb', line 6

def self.included(base)
  base.class_eval do
    alias_method_chain :indexes, :schema_monkey
    alias_method_chain :tables, :schema_monkey
  end
  SchemaMonkey.include_once ::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter, SchemaMonkey::ActiveRecord::ConnectionAdapters::SchemaStatements::Column
  SchemaMonkey.include_once ::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter, SchemaMonkey::ActiveRecord::ConnectionAdapters::SchemaStatements::Reference
  SchemaMonkey.include_once ::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter, SchemaMonkey::ActiveRecord::ConnectionAdapters::SchemaStatements::Index
end

Instance Method Details

#indexes_with_schema_monkey(table_name, query_name = nil) ⇒ Object



16
17
18
19
20
# File 'lib/schema_monkey/active_record/connection_adapters/mysql_adapter.rb', line 16

def indexes_with_schema_monkey(table_name, query_name=nil)
  Middleware::Query::Indexes.start connection: self, table_name: table_name, query_name: query_name do |env|
    env.index_definitions += indexes_without_schema_monkey env.table_name, env.query_name
  end
end

#tables_with_schema_monkey(query_name = nil, database = nil, like = nil) ⇒ Object



22
23
24
25
26
# File 'lib/schema_monkey/active_record/connection_adapters/mysql_adapter.rb', line 22

def tables_with_schema_monkey(query_name=nil, database=nil, like=nil)
  Middleware::Query::Tables.start connection: self, query_name: query_name, database: database, like: like do |env|
    env.tables += tables_without_schema_monkey env.query_name, env.database, env.like
  end
end