我正在尝试迁移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/

10-16 17:36