You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby on Rails迁移报错:不支持直接继承ActiveRecord::Migration

解决ActiveRecord::Migration直接继承的错误

问题症状

遇到StandardError,提示内容:

不支持直接继承ActiveRecord::Migration。请指定该迁移所基于的Active Record版本:
class AddAttachmentImageToPosts < ActiveRecord::Migration[7.0]

解决方案

找到对应的迁移文件(路径类似db/migrate/[时间戳]_add_attachment_image_to_posts.rb),修改类的继承语句:

修改前:

class AddAttachmentImageToPosts < ActiveRecord::Migration

修改后:

class AddAttachmentImageToPosts < ActiveRecord::Migration[7.0]

注意:[7.0]需要替换为你当前Rails应用对应的ActiveRecord版本号,若不确定版本可通过以下方式查询:

  • 终端执行命令:rails -v
  • 打开Rails控制台执行:ActiveRecord::VERSION::STRING

原因说明

从Rails 5.0版本开始,Active Record要求所有迁移类必须明确指定版本号,目的是确保迁移使用的API与创建时的Rails版本保持一致,避免跨版本API变更引发的兼容性问题。不指定版本号会触发该错误提示。

内容的提问来源于stack exchange,提问作者phskaterock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:12:33