Является ли rake db: schema: dump воссоздавать schema.rb из миграций или самой базы данных? - программирование
Подтвердить что ты не робот

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

ли

rake db:schema:dump

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

4b9b3361

Ответ 1

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

Кстати, когда вы заглядываете в исходный код db: * tasks (.../activerecord/railties/databases.rake), вы можете видеть, что задачи миграции вызывают схему: дамп после запуска

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

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