ruby-on-rails rails db:migrate vs rake db:migrate

w46czmvw  于 2023-05-02  发布在  Ruby
关注(0)|答案(1)|浏览(146)

我注意到,在Rails 5中生成数据迁移时,有些人使用rails db:migrate而不是rake db:migrate。谁能解释一下数据库迁移中railsrake命令的区别?这是否意味着rake命令在Rails 5中已经过时了?

csbfibhn

csbfibhn1#

Rails核心团队决定通过启用rails命令来支持rake所做的一切来保持一致性。
例如,在Rails 5中,像db:migratedb:setupdb:test等命令。,它们是Rails 4中rake命令的一部分,现在由rails命令支持。但是,您仍然可以选择使用rake来运行这些命令,类似于在Rails4中运行它们的方式。这是因为Rails社区引入了Rake代理,而不是完全将命令选项从Rake移动到Rails。
内部发生的是,当执行rails db:migrate命令时,Rails检查db:migrate是否是Rails本机支持的东西。在本例中,db:migrate不受Rails的原生支持,因此Rails通过Rake Proxy将执行委托给Rake。
如果您想在Rails5中查看Rails支持的所有命令,那么可以通过执行rails --help.来获得一长串选项

相关问题