module ActiveRecord::Mysql::Awesome::SchemaCreation
Public Instance Methods
visit_AddColumn(o)
click to toggle source
# File lib/activerecord-mysql-awesome/active_record/connection_adapters/abstract_mysql_adapter.rb, line 61 def visit_AddColumn(o) add_column_position!("ADD #{accept(o)}", column_options(o)) end
Private Instance Methods
add_column_options!(sql, options)
click to toggle source
Calls superclass method
# File lib/activerecord-mysql-awesome/active_record/connection_adapters/abstract_mysql_adapter.rb, line 90 def add_column_options!(sql, options) if options[:charset] sql << " CHARACTER SET #{options[:charset]}" end if options[:collation] sql << " COLLATE #{options[:collation]}" end if options[:primary_key] == true sql << " PRIMARY KEY" end super end
add_column_position!(sql, options)
click to toggle source
# File lib/activerecord-mysql-awesome/active_record/connection_adapters/abstract_mysql_adapter.rb, line 103 def add_column_position!(sql, options) if options[:first] sql << " FIRST" elsif options[:after] sql << " AFTER #{quote_column_name(options[:after])}" end sql end
column_options(o)
click to toggle source
Calls superclass method
# File lib/activerecord-mysql-awesome/active_record/connection_adapters/abstract_mysql_adapter.rb, line 79 def column_options(o) column_options = super column_options[:first] = o.first column_options[:after] = o.after column_options[:auto_increment] = o.auto_increment column_options[:primary_key] = o.primary_key column_options[:charset] = o.charset column_options[:collation] = o.collation column_options end
type_to_sql(type, limit, precision, scale, unsigned)
click to toggle source
# File lib/activerecord-mysql-awesome/active_record/connection_adapters/abstract_mysql_adapter.rb, line 112 def type_to_sql(type, limit, precision, scale, unsigned) @conn.type_to_sql(type.to_sym, limit, precision, scale, unsigned) end
visit_ChangeColumnDefinition(o)
click to toggle source
# File lib/activerecord-mysql-awesome/active_record/connection_adapters/abstract_mysql_adapter.rb, line 74 def visit_ChangeColumnDefinition(o) change_column_sql = "CHANGE #{quote_column_name(o.name)} #{accept(o.column)}" add_column_position!(change_column_sql, column_options(o.column)) end
visit_ColumnDefinition(o)
click to toggle source
# File lib/activerecord-mysql-awesome/active_record/connection_adapters/abstract_mysql_adapter.rb, line 67 def visit_ColumnDefinition(o) 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)} #{o.sql_type}" add_column_options!(column_sql, column_options(o)) unless o.type == :primary_key column_sql end