Module: SchemaPlus::Core::ActiveRecord::ConnectionAdapters::Mysql2Adapter

Defined in:
lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb

Instance Method Summary collapse

Instance Method Details

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



13
14
15
16
17
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 13

def add_index(table_name, column_names, options={})
  SchemaMonkey::Middleware::Migration::Index.start(caller: self, operation: :add, table_name: table_name, column_names: column_names, options: options.deep_dup) do |env|
    super env.table_name, env.column_names, env.options
  end
end

#change_column(table_name, name, type, options = {}) ⇒ Object



7
8
9
10
11
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 7

def change_column(table_name, name, type, options = {})
  SchemaMonkey::Middleware::Migration::Column.start(caller: self, operation: :change, table_name: table_name, column_name: name, type: type, options: options.deep_dup) do |env|
    super env.table_name, env.column_name, env.type, env.options
  end
end

#exec_delete(sql, name, binds) ⇒ Object Also known as: exec_update



51
52
53
54
55
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 51

def exec_delete(sql, name, binds)
  SchemaMonkey::Middleware::Query::Exec.start(connection: self, sql: sql, query_name: name, binds: binds) { |env|
    env.result = super env.sql, env.query_name, env.binds
  }.result
end

#exec_insert(sql, name, binds, pk = nil, sequence_name = nil) ⇒ Object



45
46
47
48
49
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 45

def exec_insert(sql, name, binds, pk = nil, sequence_name = nil)
  SchemaMonkey::Middleware::Query::Exec.start(connection: self, sql: sql, query_name: name, binds: binds) { |env|
    env.result = super env.sql, env.query_name, env.binds, pk, sequence_name
  }.result
end

#exec_query(sql, name = 'SQL', binds = []) ⇒ Object Also known as: exec_without_stmt



37
38
39
40
41
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 37

def exec_query(sql, name='SQL', binds=[])
  SchemaMonkey::Middleware::Query::Exec.start(connection: self, sql: sql, query_name: name, binds: binds) { |env|
    env.result = super env.sql, env.query_name, env.binds
  }.result
end

#indexes(table_name, query_name = nil) ⇒ Object



19
20
21
22
23
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 19

def indexes(table_name, query_name=nil)
  SchemaMonkey::Middleware::Schema::Indexes.start(connection: self, table_name: table_name, query_name: query_name, index_definitions: []) { |env|
    env.index_definitions += super env.table_name, env.query_name
  }.index_definitions
end

#select_rows(sql, name = nil, binds = []) ⇒ Object



31
32
33
34
35
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 31

def select_rows(sql, name=nil, binds=[])
  SchemaMonkey::Middleware::Query::Exec.start(connection: self, sql: sql, query_name: name, binds: binds) { |env|
    env.result = super env.sql, env.query_name, env.binds
  }.result
end

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



25
26
27
28
29
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 25

def tables(query_name=nil, database=nil, like=nil)
  SchemaMonkey::Middleware::Schema::Tables.start(connection: self, query_name: query_name, database: database, like: like, tables: []) { |env|
    env.tables += super env.query_name, env.database, env.like
  }.tables
end