Class: ArJdbc::PostgreSQL::SchemaCreation

Inherits:
ActiveRecord::ConnectionAdapters::AbstractAdapter::SchemaCreation
  • Object
show all
Defined in:
lib/arjdbc/postgresql/schema_creation.rb

Instance Method Summary collapse

Instance Method Details

#type_for_column(column) ⇒ Object



45
46
47
48
49
50
51
# File 'lib/arjdbc/postgresql/schema_creation.rb', line 45

def type_for_column(column)
  if column.array
    @conn.lookup_cast_type("#{column.sql_type}[]")
  else
    super
  end
end

#visit_AddColumn(o) ⇒ Object



8
9
10
11
12
# File 'lib/arjdbc/postgresql/schema_creation.rb', line 8

def visit_AddColumn(o)
  sql_type = type_to_sql(o.type.to_sym, o.limit, o.precision, o.scale)
  sql = "ADD COLUMN #{quote_column_name(o.name)} #{sql_type}"
  add_column_options!(sql, column_options(o))
end

#visit_ColumnDefinition(o) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/arjdbc/postgresql/schema_creation.rb', line 14

def visit_ColumnDefinition(o)
  sql = super
  if o.primary_key? && o.type == :uuid
    sql << " PRIMARY KEY "
    add_column_options!(sql, column_options(o))
  end
  sql
end