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



16
17
18
19
20
# File 'lib/schema_plus/core/active_record/connection_adapters/postgresql_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/postgresql_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



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

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/postgresql_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_cache(sql, name, binds, **options) ⇒ Object



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

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

#exec_no_cache(sql, name, binds, **options) ⇒ Object



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

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

#indexes(table_name) ⇒ Object



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

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/postgresql_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