class ActiveRecord::ConnectionAdapters::PostgreSQL::TableDefinition
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:
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:
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:
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