是否rake db:schema:dump从迁移或数据库本身重新创建schema.rb?

问题描述 投票:55回答:1

是否

rake db:schema:dump

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

ruby-on-rails schema migration rake
1个回答
81
投票

答案很简单:从数据库中。

顺便说一句 - 当你看一下db:* tasks(... / activerecord / railties / databases.rake)的源代码时,你可以看到迁移任务调用schema: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

因此,迁移的工作方式是更改数据库,然后生成schema.rb文件。

© www.soinside.com 2019 - 2024. All rights reserved.