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