我是新手。我注意到在Rails 5中生成数据迁移时,有些人用rails db:migrate
了over rake db:migrate
。有人可以解释一下Rails vs rake命令在数据库迁移中的区别吗?这是否意味着在rails 5中过时的rake命令?
非常感谢
Answers:
Rails核心团队决定通过启用Rails命令来支持rake所做的一切来保持一致性。
例如,在导轨5级的命令喜欢db:migrate
,db:setup
,db:test
等,这是在滑轨rake命令的部分4由导轨命令现在被支撑。但是,您仍然可以选择使用rake运行这些命令,类似于在Rails 4中运行这些命令。这是因为Rails社区引入了Rake Proxy,而不是完全将命令选项从rake移到rails。
内部发生的事情是,在rails db:migrate
执行命令时,Rails会检查Railsdb:migrate
本身是否支持某种东西。在这种情况下db:migrate
,Rails本身不支持它,因此Rails通过Rake Proxy将执行委托给Rake。
如果要查看Rails 5中rails支持的所有命令,则可以通过执行以下命令获得一长串选项 rails --help.
rake dev:cache
,rake notes
和rake routes
。它们将在Rails 6.1