Module: SchemaMonkey::ActiveRecord::ConnectionAdapters::SchemaStatements
- Defined in:
- lib/schema_monkey/active_record/connection_adapters/schema_statements.rb
Defined Under Namespace
Modules: Column, Index, Reference
Class Method Summary collapse
-
.included(base) ⇒ Object
The hooks at the top level of this module are for the base class, which are not overriden by any specific adapters in AR.
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
The hooks at the top level of this module are for the base class, which are not overriden by any specific adapters in AR.
10 11 12 13 14 |
# File 'lib/schema_monkey/active_record/connection_adapters/schema_statements.rb', line 10 def self.included(base) base.class_eval do alias_method_chain :add_index_options, :schema_monkey end end |
Instance Method Details
#add_index_options_with_schema_monkey(table_name, column_names, options = {}) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/schema_monkey/active_record/connection_adapters/schema_statements.rb', line 16 def (table_name, column_names, ={}) cache = [] Middleware::Migration::IndexComponentsSql.start connection: self, table_name: table_name, column_names: Array.wrap(column_names), options: .deep_dup do |env| cache << env env.sql.name, env.sql.type, env.sql.columns, env.sql., env.sql.algorithm, env.sql.using = (env.table_name, env.column_names, env.) end env = cache[0] [env.sql.name, env.sql.type, env.sql.columns, env.sql., env.sql.algorithm, env.sql.using] end |