Module: SchemaPlus::Core::ActiveRecord::ConnectionAdapters::PostgresqlAdapter

Defined in:
lib/schema_plus/core/active_record/connection_adapters/postgresql_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/postgresql_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/postgresql_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_cache(sql, name, binds) ⇒ Object



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

def exec_cache(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_no_cache(sql, name, binds) ⇒ Object



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

def exec_no_cache(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

#indexes(table_name, query_name = nil) ⇒ Object



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

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

#tables(query_name = nil) ⇒ Object



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

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