class ArJdbc::PostgreSQL::SchemaCreation
@private copied (and adjusted) from native adapter 4.0/4.1/4.2
Private Instance Methods
add_column_options!(sql, options)
click to toggle source
Calls superclass method
# File lib/arjdbc/postgresql/schema_creation.rb, line 32 def add_column_options!(sql, options) if options[:array] || options[:column].try(:array) sql << '[]' end column = options.fetch(:column) { return super } if column.type == :uuid && options[:default] =~ /\(\)/ sql << " DEFAULT #{options[:default]}" else super end end
type_for_column(column)
click to toggle source
Calls superclass method
# 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)
click to toggle source
# 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)
click to toggle source
Calls superclass method
# 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