Module: SchemaPlus::Core::ActiveRecord::ConnectionAdapters::AbstractAdapter
- Defined in:
- lib/schema_plus/core/active_record/connection_adapters/abstract_adapter.rb
Defined Under Namespace
Modules: SchemaCreation
Instance Method Summary collapse
- #add_column(table_name, name, type, options = {}) ⇒ Object
- #add_index_options(table_name, column_names, options = {}) ⇒ Object
- #add_reference(table_name, name, options = {}) ⇒ Object
Instance Method Details
#add_column(table_name, name, type, options = {}) ⇒ Object
7 8 9 10 11 |
# File 'lib/schema_plus/core/active_record/connection_adapters/abstract_adapter.rb', line 7 def add_column(table_name, name, type, = {}) SchemaMonkey::Middleware::Migration::Column.start(caller: self, operation: :add, table_name: table_name, column_name: name, type: type, options: .deep_dup) do |env| super env.table_name, env.column_name, env.type, env. end end |
#add_index_options(table_name, column_names, options = {}) ⇒ Object
19 20 21 22 23 |
# File 'lib/schema_plus/core/active_record/connection_adapters/abstract_adapter.rb', line 19 def (table_name, column_names, ={}) SchemaMonkey::Middleware::Sql::IndexComponents.start(connection: self, table_name: table_name, column_names: Array.wrap(column_names), options: .deep_dup, sql: SqlStruct::IndexComponents.new) { |env| env.sql.name, env.sql.type, env.sql.columns, env.sql., env.sql.algorithm, env.sql.using = super env.table_name, env.column_names, env. }.sql.to_hash.values end |
#add_reference(table_name, name, options = {}) ⇒ Object
13 14 15 16 17 |
# File 'lib/schema_plus/core/active_record/connection_adapters/abstract_adapter.rb', line 13 def add_reference(table_name, name, = {}) SchemaMonkey::Middleware::Migration::Column.start(caller: self, operation: :add, table_name: table_name, column_name: "#{name}_id", type: :reference, options: .deep_dup) do |env| super env.table_name, env.column_name.sub(/_id$/, ''), env. end end |