Class: ActiveRecord::ConnectionAdapters::IBM_DBAdapter::TableDefinition

Inherits:
TableDefinition
  • Object
show all
Includes:
ColumnMethods
Defined in:
lib/active_record/connection_adapters/ibm_db_adapter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTableDefinition

Returns a new instance of TableDefinition.



728
729
730
731
732
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 728

def initialize(*, **)
  super
  @exclusion_constraints = []
  @unique_constraints = []
end

Instance Attribute Details

#exclusion_constraintsObject (readonly)

Returns the value of attribute exclusion_constraints.



726
727
728
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 726

def exclusion_constraints
  @exclusion_constraints
end

#unique_constraintsObject (readonly)

Returns the value of attribute unique_constraints.



726
727
728
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 726

def unique_constraints
  @unique_constraints
end

Instance Method Details

#exclusion_constraint(expression, **options) ⇒ Object



734
735
736
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 734

def exclusion_constraint(expression, **options)
  exclusion_constraints << new_exclusion_constraint_definition(expression, options)
end

#new_unique_constraint_definition(column_name, options) ⇒ Object

:nodoc:



744
745
746
747
748
749
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 744

def new_unique_constraint_definition(column_name, options) # :nodoc:
  @conn.puts_log "TD new_unique_constraint_definition column_name = #{column_name}, options = #{options}"
  @conn.puts_log caller
  options = @conn.unique_constraint_options(name, column_name, options)
  UniqueConstraintDefinition.new(name, column_name, options)
end

#references(*args, **options) ⇒ Object Also known as: belongs_to



751
752
753
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 751

def references(*args, **options)
  super(*args, type: :integer, **options)
end

#unique_constraint(column_name, **options) ⇒ Object



738
739
740
741
742
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 738

def unique_constraint(column_name, **options)
  @conn.puts_log "TD unique_constraint column_name = #{column_name}, options = #{options}"
  unique_constraints << new_unique_constraint_definition(column_name, options)
  @conn.puts_log "unique_constraints = #{unique_constraints}"
end