是否rake db:schema:dump从迁移或数据库本身重新创建schema.rb?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否rake db:schema:dump从迁移或数据库本身重新创建schema.rb?相关的知识,希望对你有一定的参考价值。
是否
rake db:schema:dump
从迁移或数据库本身重新创建schema.rb
?
答案
答案很简单:从数据库中。
顺便说一句 - 当你看一下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文件。
以上是关于是否rake db:schema:dump从迁移或数据库本身重新创建schema.rb?的主要内容,如果未能解决你的问题,请参考以下文章
rake db:schema:load 不填充 schema_migrations 表
在 Heroku 上执行 rake db:migrate 时出错