ruby-on-rails - 不支持从ActiveRecord::Migration直接继承的Rails5。巫术 gem

标签 ruby-on-rails sorcery

我正在尝试迁移Rails 3应用程序。我使用RVM安装了Rails v 5.1.5。
当尝试db:migrate时,得到以下信息。

耙子流产了!
StandardError:发生错误,所有以后的迁移都被取消:

不支持直接从ActiveRecord::Migration继承。请指定为迁移编写的Rails版本:

类SorceryCore
这是Sorcerycore的类定义:

class SorceryCore < <%= migration_class_name %>        


  def change
    create_table :<%= model_class_name.tableize %> do |t|
      t.string :email,            :null => false
      t.string :crypted_password
      t.string :salt

      t.timestamps                :null => false
    end

    add_index :<%= model_class_name.tableize %>, :email, unique: true
  end
end

最佳答案

您必须在括号内指定版本,如其所言。自升级以来,您是否添加了任何迁移?
示例更改自:class SorceryCore < ActiveRecord::Migrationclass SorceryCore < ActiveRecord::Migration[5.1]您可以通过从Rails根目录运行此版本,将其添加到所有迁移中:

grep -rl ActiveRecord::Migration$ db | xargs sed -i "" "s/ActiveRecord::Migration/ActiveRecord::Migration[5.1]/g"

关于ruby-on-rails - 不支持从ActiveRecord::Migration直接继承的Rails5。巫术 gem ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48815984/

相关文章:

ruby-on-rails - 在 Rails 中与设计用户建立 has_one 关系

javascript - Bootstrap 网格缩略图,单击时可展开预览

ruby-on-rails - Capybara:ElementNotFound:无法在多部分表单上找到字段名称

mysql - 加载哑巴数据库并运行所有迁移

ruby-on-rails - 对 Ruby on Rails 多语言翻译管理有什么建议吗?

ruby-on-rails-3 - 巫术的身份验证错误 - 没有这样的方法创建

ruby-on-rails - 当前用户不会持续执行一个 Controller 操作

ruby-on-rails - 如何使用 Sorcery 测试 FactoryGirl 生成的用户?

android - 对于使用移动应用程序的 Sorcery gem,我应该使用什么身份验证方法?

ruby-on-rails - Rails Sorcery 在没有密码的情况下更新模型的属性