耙子或 Rails db:migrate

Rake or Rails db:migrate

我是 RoR 的新手,正在 http://guides.rubyonrails.org/getting_started.html 开始阅读指南。

当我 运行 命令 bin/rails db:migrate 时,我收到错误 command db:migrate not recognized

但我能够运行 命令 bin/rake db:migrate 没有任何问题。

我的问题是:两者之间有什么区别吗?还是我可以放心使用 rake?谢谢!

这取决于 Rails 的版本。 在 Rails 5.0 之前是

rake db:migrate

从 Rails 5.0 开始是

rails db:migrate

来自变更日志:

One Rails Command instead of the split-brain setup between rake and rails, so now it’s bin/rails db:migrate instead of bin/rake db:migrate

有关 Rails 5.

中更改的完整列表,请参阅 changelog

您使用的 rails gem 是哪个版本?在 rails 5(您链接的指南适用于 rails 5)中,我们对所有内容都使用 rails 命令。在 rails 5 之前,我们使用 rake 执行数据库命令。

Rails 是框架。

Rake 是一个独立的 Ruby 实用程序,它取代了 Unix 实用程序“make”,并使用“Rakefile”和 .rake 文件来构建任务列表。在 Rails 中,Rake 用于常见的管理任务,尤其是相互构建的复杂任务。”

您可以查看更多:https://www.tutorialspoint.com/ruby-on-rails/rails-and-rake.htm