module ActiveRecord::ModelSchema::ClassMethods

def load_schema!

def load_schema!
  unless table_name
    raise ActiveRecord::TableNotSpecified, "#{self} has no table configured. Set one with #{self}.table_name="
  end
  columns_hash = connection.schema_cache.columns_hash(table_name)
  columns_hash = columns_hash.except(*ignored_columns) unless ignored_columns.empty?
  @columns_hash = columns_hash.freeze
  @columns_hash.each do |name, column|
    type = connection.lookup_cast_type_from_column(column)
    type = _convert_type_from_options(type)
    define_attribute(
      name,
      type,
      default: column.default,
      user_provided_default: false
    )
  end
end