Rake db:schema: dump воссоздает схему.rb от миграции или самой базы данных?


тут

rake db:schema:dump

заново schema.rb от миграции или самой базы данных?

1 52

1 ответ:

ответ прост: из базы данных.

кстати - когда вы посмотрите на исходный код БД:* задачи (.../ activerecord / railties / базы данных.rake) вы можете видеть, что задачи миграции вызывают schema:dump after the run

desc "Migrate the database (options: VERSION=x, VERBOSE=false)."
task :migrate => :environment do
  ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
  ActiveRecord::Migrator.migrate("db/migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
  Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
end

таким образом, миграция работает так, что она изменяет базу данных и затем создать схему.rb файл.