class ActiveRecord::ConnectionAdapters::PostgreSQL::TableDefinition

Active Record PostgreSQL Adapter Table Definition

def aliased_types(name, fallback)

def aliased_types(name, fallback)
  fallback
end

def exclusion_constraint(expression, **options)

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

def initialize(*, **)

def initialize(*, **)
  super
  @exclusion_constraints = []
  @unique_constraints = []
  @unlogged = ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.create_unlogged_tables
end

def integer_like_primary_key_type(type, options)

def integer_like_primary_key_type(type, options)
  if type == :bigint || options[:limit] == 8
    :bigserial
  else
    :serial
  end
end

def new_column_definition(name, type, **options) # :nodoc:

:nodoc:
def new_column_definition(name, type, **options) # :nodoc:
  case type
  when :virtual
    type = options[:type]
  end
  super
end

def new_exclusion_constraint_definition(expression, options) # :nodoc:

:nodoc:
def new_exclusion_constraint_definition(expression, options) # :nodoc:
  options = @conn.exclusion_constraint_options(name, expression, options)
  ExclusionConstraintDefinition.new(name, expression, options)
end

def new_unique_constraint_definition(column_name, options) # :nodoc:

:nodoc:
def new_unique_constraint_definition(column_name, options) # :nodoc:
  options = @conn.unique_constraint_options(name, column_name, options)
  UniqueConstraintDefinition.new(name, column_name, options)
end

def unique_constraint(column_name, **options)

def unique_constraint(column_name, **options)
  unique_constraints << new_unique_constraint_definition(column_name, options)
end

def valid_column_definition_options

def valid_column_definition_options
  super + [:array, :using, :cast_as, :as, :type, :enum_type, :stored]
end