module ActiveRecord::ConnectionAdapters::MySQL::ColumnDumper
Public Instance Methods
column_spec_for_primary_key(column)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/mysql/schema_dumper.rb, line 5 def column_spec_for_primary_key(column) if column.bigint? spec = { id: :bigint.inspect } spec[:default] = schema_default(column) || 'nil' unless column.auto_increment? else spec = super end spec[:unsigned] = 'true' if column.unsigned? spec end
migration_keys()
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/mysql/schema_dumper.rb, line 22 def migration_keys super + [:unsigned] end
prepare_column_options(column)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/mysql/schema_dumper.rb, line 16 def prepare_column_options(column) spec = super spec[:unsigned] = 'true' if column.unsigned? spec end
Private Instance Methods
default_primary_key?(column)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/mysql/schema_dumper.rb, line 28 def default_primary_key?(column) super && column.auto_increment? end
schema_collation(column)
click to toggle source
# File lib/active_record/connection_adapters/mysql/schema_dumper.rb, line 44 def schema_collation(column) if column.collation && table_name = column.table_name @table_collation_cache ||= {} @table_collation_cache[table_name] ||= select_one("SHOW TABLE STATUS LIKE '#{table_name}'")["Collation"] column.collation.inspect if column.collation != @table_collation_cache[table_name] end end
schema_precision(column)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/mysql/schema_dumper.rb, line 40 def schema_precision(column) super unless /time/ === column.sql_type && column.precision == 0 end
schema_type(column)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/mysql/schema_dumper.rb, line 32 def schema_type(column) if column.sql_type == 'tinyblob' :blob else super end end