123456789_123456789_123456789_123456789_123456789_

Class: ActiveRecord::ConnectionAdapters::PostgreSQL::AlterTable

Do not use. This class is for internal use only.
Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: ActiveRecord::ConnectionAdapters::AlterTable
Defined in: activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb

Overview

Active Record PostgreSQL Adapter Alter Table

Constant Summary

::ActiveRecord::ConnectionAdapters::AlterTable - Inherited

COMBINABLE_COMMANDS

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

This class inherits a constructor from ActiveRecord::ConnectionAdapters::AlterTable

Instance Method Details

#add_column(column_name, type, **options)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 385

def add_column(column_name, type, **options)
  super
  defer_comment(column_name, options[:comment]) if options.key?(:comment)
end

#add_exclusion_constraint(expression, options)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 410

def add_exclusion_constraint(expression, options)
  @operations << AddExclusionConstraint.new(@td.new_exclusion_constraint_definition(expression, options))
end

#add_unique_constraint(column_name, options)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 414

def add_unique_constraint(column_name, options)
  @operations << AddUniqueConstraint.new(@td.new_unique_constraint_definition(column_name, options))
end

#change_column(column_name, type, **options)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 390

def change_column(column_name, type, **options)
  cd = @td.new_column_definition(column_name, type, **options)
  @operations << ChangeColumnDefinition.new(cd, column_name)
  defer_comment(column_name, options[:comment]) if options.key?(:comment)
end

#change_column_null(column_name, null, default = nil)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 396

def change_column_null(column_name, null, default = nil)
  if default.nil?
    super(column_name, null)
  else
    conn = @td.conn
    table_name = name
    @deferred_operations << -> { conn.change_column_null(table_name, column_name, null, default) }
  end
end

#defer_comment(column_name, comment) (private)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 419

def defer_comment(column_name, comment)
  conn = @td.conn
  table_name = name
  @deferred_operations << -> { conn.change_column_comment(table_name, column_name, comment) }
end

#validate_constraint(name)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 406

def validate_constraint(name)
  @operations << ValidateConstraint.new(name)
end