class ActiveRecord::ConnectionAdapters::SQLite3::SchemaDumper

:nodoc:

def default_primary_key?(column)

def default_primary_key?(column)
  schema_type(column) == :integer
end

def explicit_primary_key_default?(column)

def explicit_primary_key_default?(column)
  column.bigint?
end

def extract_expression_for_virtual_column(column)

def extract_expression_for_virtual_column(column)
  column.default_function.inspect
end

def prepare_column_options(column)

def prepare_column_options(column)
  spec = super
  if @connection.supports_virtual_columns? && column.virtual?
    spec[:as] = extract_expression_for_virtual_column(column)
    spec[:stored] = column.virtual_stored?
    spec = { type: schema_type(column).inspect }.merge!(spec)
  end
  spec
end

def virtual_tables(stream)

def virtual_tables(stream)
  virtual_tables = @connection.virtual_tables
  if virtual_tables.any?
    stream.puts
    stream.puts "  # Virtual tables defined in this database."
    stream.puts "  # Note that virtual tables may not work with other database engines. Be careful if changing database."
    virtual_tables.sort.each do |table_name, options|
      module_name, arguments = options
      stream.puts "  create_virtual_table #{table_name.inspect}, #{module_name.inspect}, #{arguments.split(", ").inspect}"
    end
  end
end