class XMigra::DeclarativeSupport::Table::DefaultConstraint

Constants

IDENTIFIER
IMPLICIT_PREFIX

Attributes

column[RW]
expression[RW]

Public Class Methods

new(name, constr_spec) click to toggle source
# File lib/xmigra/declarative_support/table.rb, line 296
def initialize(name, constr_spec)
  super(name, constr_spec)
  implicit_column = (
    name[IMPLICIT_PREFIX.length..-1] if name.start_with?(IMPLICIT_PREFIX)
  )
  @column = constr_spec['column'] || implicit_column || Constraint.bad_spec(
    %Q{Default constraint #{name} does not specify a "column"}
  )
  @expression = constr_spec['value'] || Constraint.bad_spec(
    %Q{Default constraint #{name} does not specify an expression to use as a "value"}
  )
end

Public Instance Methods

creation_sql() click to toggle source
# File lib/xmigra/declarative_support/table.rb, line 315
def creation_sql
  creation_name_sql + "DEFAULT #{expression} FOR #{column}"
end
only_on_column_at_creation?() click to toggle source
# File lib/xmigra/declarative_support/table.rb, line 311
def only_on_column_at_creation?
  true
end