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



16
17
18
19
20
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 16

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



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

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

#data_sources ⇒ Object



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

def data_sources
  SchemaMonkey::Middleware::Schema::DataSources.start(connection: self, sources: []) { |env|
    env.sources += super
  }.sources
end

#drop_table(table_name, **options) ⇒ Object



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

def drop_table(table_name, **options)
  SchemaMonkey::Middleware::Migration::DropTable.start(connection: self, table_name: table_name, options: options.dup) do |env|
    super env.table_name, **env.options
  end
end

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



73
74
75
76
77
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 73

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



67
68
69
70
71
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 67

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 = [], prepare: false) ⇒ Object Also known as: exec_without_stmt



59
60
61
62
63
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 59

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

#indexes(table_name) ⇒ Object



41
42
43
44
45
# File 'lib/schema_plus/core/active_record/connection_adapters/mysql2_adapter.rb', line 41

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

#rename_table(table_name, new_name) ⇒ Object



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

def rename_table(table_name, new_name)
  SchemaMonkey::Middleware::Migration::RenameTable.start(connection: self, table_name: table_name, new_name: new_name) do |env|
    super env.table_name, env.new_name
  end
end

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



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

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