class TableCopy::PG::Field
Attributes
data_limit[R]
name[R]
type_name[R]
Public Class Methods
new(attrs)
click to toggle source
# File lib/table_copy/pg/field.rb, line 6 def initialize(attrs) @name = attrs['column_name'] data_type = attrs['data_type'] if data_type =~ /character/ @data_limit = attrs['character_maximum_length'] end if data_type == 'ARRAY' && attrs['udt_name'] == '_varchar' @type_name = 'character varying' @data_limit = '256' @array_ddl = '[]' end @type_name ||= data_type end
Public Instance Methods
auto_index?()
click to toggle source
# File lib/table_copy/pg/field.rb, line 27 def auto_index? @type_name =~ /int|timestamp|bool/ end
ddl()
click to toggle source
# File lib/table_copy/pg/field.rb, line 23 def ddl @ddl ||= "#{name} #{type_name}#{data_limit_ddl}#{array_ddl}" end
Private Instance Methods
array_ddl()
click to toggle source
# File lib/table_copy/pg/field.rb, line 37 def array_ddl @array_ddl end
data_limit_ddl()
click to toggle source
# File lib/table_copy/pg/field.rb, line 33 def data_limit_ddl "(#{data_limit})" if @data_limit end