Module: PgSaurus::ConnectionAdapters::AbstractAdapter::SchemaMethods

Included in:
PgSaurus::ConnectionAdapters::AbstractAdapter
Defined in:
lib/pg_saurus/connection_adapters/abstract_adapter/schema_methods.rb

Overview

Extends ActiveRecord::ConnectionAdapters::AbstractAdapter with methods for multi-schema support.

Instance Method Summary collapse

Instance Method Details

#create_table(table_name, options = {}, &block) ⇒ Object

Provide :schema option to create_table method.



6
7
8
9
# File 'lib/pg_saurus/connection_adapters/abstract_adapter/schema_methods.rb', line 6

def create_table(table_name, options = {}, &block)
  table_name, options = extract_table_options(table_name, options)
  super(table_name, **options, &block)
end

#drop_table(table_name, options = {}) ⇒ Object

Provide :schema option to drop_table method.



12
13
14
15
# File 'lib/pg_saurus/connection_adapters/abstract_adapter/schema_methods.rb', line 12

def drop_table(table_name, options = {})
  table_name, options = extract_table_options(table_name, options)
  super(table_name, **options)
end

#extract_table_options(table_name, options) ⇒ Object

Extract the table-specific options for the given table name from the options.



18
19
20
21
22
23
# File 'lib/pg_saurus/connection_adapters/abstract_adapter/schema_methods.rb', line 18

def extract_table_options(table_name, options)
  options     = options.dup
  schema_name = options.delete(:schema)
  table_name  = "#{schema_name}.#{table_name}" if schema_name
  [table_name, options]
end