不支持直接从 ActiveRecord::Migration 继承的 Rails5。魔法 Gem
Rails5 Directly inheriting from from ActiveRecord::Migration is not supported. Sorcery Gem
我正在尝试迁移 Rails 3 应用程序。我使用 RVM 安装了 Rails v 5.1.5。
尝试 db:migrate 时,我得到以下信息。
耙子中止!
StandardError:发生错误,所有后来的迁移都已取消:
不支持直接继承自 ActiveRecord::Migration。请指定为 Rails 版本编写的迁移:
class 巫术核心 < ActiveRecord::Migration[4.2]
这是 Sorcerycore 的 Class 定义:
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"
在我的例子中,我使用的是 data_migrate
的过时版本:
bundle update data_migrate
# Using data_migrate 6.3.0 (was 5.3.2)
最后点赞添加你的迁移版本
class SorceryCore < ActiveRecord::Migration[5.1]
所以这里 [5.1]
是你的版本所以添加版本
如果您不知道版本,请检查您之前的迁移,您是否可以在那里找到...
我正在尝试迁移 Rails 3 应用程序。我使用 RVM 安装了 Rails v 5.1.5。 尝试 db:migrate 时,我得到以下信息。
耙子中止! StandardError:发生错误,所有后来的迁移都已取消:
不支持直接继承自 ActiveRecord::Migration。请指定为 Rails 版本编写的迁移:
class 巫术核心 < ActiveRecord::Migration[4.2]
这是 Sorcerycore 的 Class 定义:
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"
在我的例子中,我使用的是 data_migrate
的过时版本:
bundle update data_migrate
# Using data_migrate 6.3.0 (was 5.3.2)
最后点赞添加你的迁移版本
class SorceryCore < ActiveRecord::Migration[5.1]
所以这里 [5.1]
是你的版本所以添加版本
如果您不知道版本,请检查您之前的迁移,您是否可以在那里找到...