我是rails的新手。我注意到在rails 5中生成数据迁移时,有些人在rake db:migrate上使用rails db:migrate。有人能解释一下rails和rake命令在数据库迁移中的区别吗?这是否意味着rake命令在Rails5中已经过时了?
非常感谢
发布于 2016-07-16 03:15:27
Rails核心团队决定通过启用rails命令来支持rake所做的一切,从而保持一致性。
例如,在Rails 5中,像db:migrate、db:setup、db:test等命令是Rails 4中rake命令的一部分,现在rails命令也支持这些命令。然而,您仍然可以选择使用rake来运行这些命令,就像它们在Rails4中的运行方式一样。这是因为rails社区引入了Rake代理,而不是完全将命令选项从rake迁移到Rails。
在内部发生的情况是,当执行rails db:migrate命令时,Rails会检查db:migrate是否是rails本机支持的东西。在这种情况下,rails本身并不支持db:migrate,因此Rails通过Rake代理将执行委托给Rake。
如果您想要查看Rails5中rails支持的所有命令,那么可以通过执行rails --help.获得一个很长的选项列表
https://stackoverflow.com/questions/38403533
复制相似问题