rails db:migrate vs 耙子 db:migrate

rails db:migrate vs rake db:migrate

我是 rails 的新手。我注意到在 rails 5 中生成数据迁移时,有些人使用 rails db:migrate 而不是 rake db:migrate。有人可以解释 rails 与 rake 命令在数据库迁移中的区别吗?这是否意味着 rake 命令在 rails 5 中已过时?

非常感谢

Rails 核心团队决定通过启用 rails 命令来支持 rake 所做的一切来保持一致性。

例如 Rails 5 个命令,如 db:migratedb:setupdb:test 等,它们是 Rails 4 中 rake 命令的一部分,现在正在rails 命令支持。但是,您仍然可以选择使用 rake 来 运行 那些类似于 Rails 中 运行 的命令 4. 这是因为 Rails 社区已经引入了 Rake Proxy 而不是完全将命令选项从 rake 移动到 rails.

内部发生的事情是,当执行 rails db:migrate 命令时,Rails 检查 db:migrate 是否是 rails 本身支持的东西。在这种情况下,rails 本身不支持 db:migrate,因此 Rails 通过 Rake 代理将执行委托给 Rake。

如果您想在Rails 5 中查看rails 支持的所有命令,那么您可以通过执行rails --help.

来获得一长串选项