Module: SchemaPlus::ActiveRecord::ConnectionAdapters::PostgreSQLColumn::ClassMethods

Defined in:
lib/schema_plus/active_record/connection_adapters/postgresql_adapter.rb

Instance Method Summary collapse

Instance Method Details

#extract_value_from_default_with_schema_plus(default) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/schema_plus/active_record/connection_adapters/postgresql_adapter.rb', line 27

def extract_value_from_default_with_schema_plus(default)


  value = extract_value_from_default_without_schema_plus(default)

  # in some cases (e.g. if change_column_default(table, column,
  # nil) is used), postgresql will return NULL::xxxxx (rather
  # than nil) for a null default -- make sure we treat it as nil,
  # not as a function.
  default = nil if value.nil? && default =~ /\ANULL::(?:character varying|bpchar|text)\z/m

  if value.nil? && !default.nil?
    value = { :expr => default }
  end
  value
end