Class: ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter::SchemaCreation

Inherits:
ActiveRecord::ConnectionAdapters::AbstractAdapter::SchemaCreation show all
Defined in:
lib/activerecord-mysql-unsigned/active_record/v4_1/connection_adapters/abstract_mysql_adapter.rb

Instance Method Summary collapse

Instance Method Details

#type_to_sql(type, limit, precision, scale, unsigned) ⇒ Object



34
35
36
# File 'lib/activerecord-mysql-unsigned/active_record/v4_1/connection_adapters/abstract_mysql_adapter.rb', line 34

def type_to_sql(type, limit, precision, scale, unsigned)
  @conn.type_to_sql type.to_sym, limit, precision, scale, unsigned
end

#visit_AddColumn(o) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/activerecord-mysql-unsigned/active_record/v4_1/connection_adapters/abstract_mysql_adapter.rb', line 9

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

#visit_ChangeColumnDefinition(o) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/activerecord-mysql-unsigned/active_record/v4_1/connection_adapters/abstract_mysql_adapter.rb', line 18

def visit_ChangeColumnDefinition(o)
  column = o.column
  options = o.options
  sql_type = type_to_sql(o.type, options[:limit], options[:precision], options[:scale], options[:unsigned])
  change_column_sql = "CHANGE #{quote_column_name(column.name)} #{quote_column_name(options[:name])} #{sql_type}"
  add_column_options!(change_column_sql, options)
  add_column_position!(change_column_sql, options)
end

#visit_ColumnDefinition(o) ⇒ Object



27
28
29
30
31
32
# File 'lib/activerecord-mysql-unsigned/active_record/v4_1/connection_adapters/abstract_mysql_adapter.rb', line 27

def visit_ColumnDefinition(o)
  sql_type = type_to_sql(o.type.to_sym, o.limit, o.precision, o.scale, o.unsigned)
  column_sql = "#{quote_column_name(o.name)} #{sql_type}"
  add_column_options!(column_sql, column_options(o)) unless o.primary_key?
  column_sql
end