耙db:架构:转储从迁移或数据库本身重新创buildschema.rb?

是否

rake db:schema:dump 

从迁移或数据库本身重新创buildschema.rb

答案很简单:从数据库。

顺便说一句,当你看看db:* tasks(… / activerecord / railties / databases.rake)的源代码时,你可以看到迁移任务在运行后调用了schema:dump

 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文件。