class ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter::SchemaCreation

Public Instance Methods

add_column_position!(sql, options) click to toggle source
# File lib/activerecord-mysql-unsigned/active_record/v4/connection_adapters/abstract_mysql_adapter.rb, line 46
def add_column_position!(sql, options)
  if options[:first]
    sql << " FIRST"
  elsif options[:after]
    sql << " AFTER #{quote_column_name(options[:after])}"
  end
end
column_options(o) click to toggle source
Calls superclass method
# File lib/activerecord-mysql-unsigned/active_record/v4/connection_adapters/abstract_mysql_adapter.rb, line 39
def column_options(o)
  column_options = super
  column_options[:first] = o.first
  column_options[:after] = o.after
  column_options
end
type_to_sql(type, limit, precision, scale, unsigned = false) click to toggle source
# File lib/activerecord-mysql-unsigned/active_record/v4/connection_adapters/abstract_mysql_adapter.rb, line 54
def type_to_sql(type, limit, precision, scale, unsigned = false)
  @conn.type_to_sql type.to_sym, limit, precision, scale, unsigned
end
visit_AddColumn(o) click to toggle source
# File lib/activerecord-mysql-unsigned/active_record/v4/connection_adapters/abstract_mysql_adapter.rb, line 11
def visit_AddColumn(o)
  sql_type = type_to_sql(o.type.to_sym, o.limit, o.precision, o.scale, o.unsigned)
  add_column_sql = "ADD #{quote_column_name(o.name)} #{sql_type}"
  add_column_options!(add_column_sql, column_options(o)) unless o.type.to_sym == :primary_key
  add_column_position!(add_column_sql, column_options(o))

  add_column_sql
end
visit_ChangeColumnDefinition(o) click to toggle source
# File lib/activerecord-mysql-unsigned/active_record/v4/connection_adapters/abstract_mysql_adapter.rb, line 20
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.merge(column: column)) unless o.type.to_sym == :primary_key
  add_column_position!(change_column_sql, options)

  change_column_sql
end
visit_ColumnDefinition(o) click to toggle source
# File lib/activerecord-mysql-unsigned/active_record/v4/connection_adapters/abstract_mysql_adapter.rb, line 31
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.type.to_sym == :primary_key

  column_sql
end