class ActiveRecord::ConnectionAdapters::MySQL::TableDefinition

def aliased_types(name, fallback)

def aliased_types(name, fallback)
  fallback
end

def initialize(conn, name, charset: nil, collation: nil, **)

def initialize(conn, name, charset: nil, collation: nil, **)
  super
  @charset = charset
  @collation = collation
end

def integer_like_primary_key_type(type, options)

def integer_like_primary_key_type(type, options)
  unless options[:auto_increment] == false
    options[:auto_increment] = true
  end
  type
end

def new_column_definition(name, type, **options) # :nodoc:

:nodoc:
def new_column_definition(name, type, **options) # :nodoc:
  case type
  when :virtual
    type = options[:type]
  when :primary_key
    type = :integer
    options[:limit] ||= 8
    options[:primary_key] = true
  when /\Aunsigned_(?<type>.+)\z/
    type = $~[:type].to_sym
    options[:unsigned] = true
  end
  super
end