无法运行ActiveRecord Migration

时间:2017-11-29 12:46:56

标签: ruby-on-rails activerecord rubygems rake bundler

我添加了gemfile:

Collections.sort(actTreeFileInfoLinkdList)

到我的Rails应用程序,以便为模型添加upvote / downvote功能(我正在关注Railscast#364)。我没有任何问题安装了宝石。

我输入了'rails g reputation_system'并且rake db:migrate,但rake被中止了:

gem 'activerecord-reputation-system', require: 'reputation_system'

我用'捆绑exec'试了一下,但是rake又被中止了:

Gem::LoadError: You have already activated rake 12.3.0, but your 
Gemfile requires rake 12.0.0. Prepending `bundle exec` to your command 
may solve this.

我更新了我的宝石以确定这是否是麻烦,但这没有任何区别。

除了找到一些删除rake 12.3.0和安装12.0.0的方法之外,我无法想到其他任何事情,但这似乎不合逻辑。

非常感谢任何帮助,谢谢: - )

1 个答案:

答案 0 :(得分:0)

在Rails 5中,迁移要求您在迁移文件的顶部指定您正在使用的Rails版本(指定迁移),如错误所示。

这看起来像这样:

class CreateYourModels < ActiveRecord::Migration[5.1]
 ...your migration code
end

括号中的位是您正在使用的Rails版本。

然后尝试运行bundle exec rake db:migrate

补充说明:https://blog.bigbinary.com/2016/03/01/migrations-are-versioned-in-rails-5.html