Method: ActiveRecord::Tasks::DatabaseTasks#load_schema

Defined in:
lib/active_record/tasks/database_tasks.rb

#load_schema(db_config, format = db_config.schema_format, file = nil) ⇒ Object

:nodoc:



374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
# File 'lib/active_record/tasks/database_tasks.rb', line 374

def load_schema(db_config, format = db_config.schema_format, file = nil) # :nodoc:
  format = format.to_sym
  file ||= schema_dump_path(db_config, format)
  return unless file

  verbose_was, Migration.verbose = Migration.verbose, verbose? && ENV["VERBOSE"]
  check_schema_file(file)

  case format
  when :ruby
    load(file)
  when :sql
    structure_load(db_config, file)
  else
    raise ArgumentError, "unknown format #{format.inspect}"
  end

  migration_connection_pool..create_table_and_set_flags(db_config.env_name, schema_sha1(file))
ensure
  Migration.verbose = verbose_was
end