无法运行ActiveRecord迁移
我添加了gemfile:
gem 'activerecord-reputation-system', require: 'reputation_system'
到我的Rails应用程序,以便为模型添加upvote / downvote功能(我正在关注Railscast#364)。 我安装了没有问题的宝石。
我输入'rails g reputation_system'和rake db:migrate,但是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.
我用'bundle exec'试了一下,但耙子又被中止了:
StandardError: An error has occurred, this and all later migrations
canceled:
Directly inheriting from ActiveRecord::Migration is not supported.
Please specify the Rails release the migration was written for:
我更新了我的宝石,看看这是不是麻烦,但这没有什么区别。
除了找到某种方法去除耙12.3.0和安装12.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
链接地址: http://www.djcxy.com/p/35999.html上一篇: Unable to run ActiveRecord Migration
下一篇: protected Rails 4