【问题标题】:Rails aborted migrate commandRails 中止迁移命令
【发布时间】:2020-10-03 19:30:02
【问题描述】:

在尝试执行命令 $rails db:migrate 时,我收到以下错误:

    $ rails db:migrate RAILS_ENV=test
    rails aborted!
    StandardError: An error has occurred, this and all later migrations canceled:
    Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

如何指定迁移所针对的版本?这是在什么文件里?谢谢!

【问题讨论】:

    标签: ruby-on-rails dbmigrate


    【解决方案1】:

    Rails 阻止从 ActiveRecord::Migration 继承,这是因为迁移 API 可以在不同版本之间更改。

    要解决它,请提供所有迁移文件所需的版本: ActiveRecord::Migration[version_number]

    class MigrationClassName < ActiveRecord::Migration[5.2]
    end
    

    【讨论】:

    • 您好,谢谢!我没有收到关于这个问题的通知。正如我所说,我对此很陌生......我究竟在哪里添加这一行?什么文件?
    • 将其添加到db/migrate 内的所有文件中。只需在每个ActiveRecord::Migration 的末尾添加版本即可。另外,您使用什么 Rails 版本?在 Rails 控制台中执行ActiveRecord::Migration.current_version 的价值是什么?
    • 谢谢!这帮助并成功执行了命令!
    • 另外,我正在使用ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
    猜你喜欢
    • 2013-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 2020-07-17
    • 2017-07-28
    • 2018-06-07
    • 2012-08-13
    相关资源
    最近更新 更多