做
rake db:schema:dump
从迁移或数据库本身重建schema.rb
?
做
rake db:schema:dump
从迁移或数据库本身重建schema.rb
?
答案很简单:来自数据库.
顺便说一句,当你take a look into the source code of db:* tasks岁时,你可以看到迁移任务在运行后调用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
因此,迁移的工作方式是更改数据库并生成模式.rb文件.