rake db rake 任务不工作 Ruby 2.4.0 & Rails 5.0.1

Posted

技术标签:

【中文标题】rake db rake 任务不工作 Ruby 2.4.0 & Rails 5.0.1【英文标题】:rake db rake tasks not working Ruby 2.4.0 & Rails 5.0.1 【发布时间】:2017-06-21 12:40:03 【问题描述】:

在我的环境中,每次我运行 rake 任务(目前仅与主动迁移相关)时,都会收到三个弃用警告,然后进程似乎终止了。

➜  job-board-app git:(styles-for-boards-page) ✗ rake db:drop
/Users/jackburum/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:51: warning: constant ::Fixnum is deprecated
/Users/jackburum/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:52: warning: constant ::Bignum is deprecated
/Users/jackburum/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/core_ext/numeric/conversions.rb:138: warning: constant ::Fixnum is deprecated

重置、迁移等也会发生同样的事情。寻找关于我可能需要做什么才能使任务成功运行的想法

【问题讨论】:

【参考方案1】:

这只是警告,最好忽略它们。您会看到它们,因为 Rails 5.0.1Ruby2.4.0 不完全兼容。

如果您对此警告感到恼火并想避免它们,我建议您暂时将 Ruby 降级为 2.3.3,并在 Rails 5.0.2 发布后再次升级以解决此问题。

【讨论】:

【参考方案2】:

首先,在 Rails 5 中,您应该使用 rails task_name 而不是 rake task_name

所以,使用这个:

rails db:drop

现在,关于警告,您收到警告是因为您使用的是 ruby​​ 2.4.0。查看ruby 2.4.0 release notes。这些警告来自 activesupport gem 和 will go away in Rails 5.0.2

现在,您可以忽略警告。发布后立即升级到 Rails 5.0.2。

【讨论】:

感谢 rakib 的详细回答。这很有帮助。也感谢您的链接

以上是关于rake db rake 任务不工作 Ruby 2.4.0 & Rails 5.0.1的主要内容,如果未能解决你的问题,请参考以下文章

ruby heroku_db.rake

ruby Rake DB命令

ruby Rake DB命令

ruby db.rake

如何在 Ruby 脚本中运行 Rake 任务?

ruby 从db生成灯具。可读的rake db:fixtures:load