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:migrate
、db:setup
、db: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.
来获得一长串选项
我是 rails 的新手。我注意到在 rails 5 中生成数据迁移时,有些人使用 rails db:migrate
而不是 rake db:migrate
。有人可以解释 rails 与 rake 命令在数据库迁移中的区别吗?这是否意味着 rake 命令在 rails 5 中已过时?
非常感谢
Rails 核心团队决定通过启用 rails 命令来支持 rake 所做的一切来保持一致性。
例如 Rails 5 个命令,如 db:migrate
、db:setup
、db: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.