Rails db:migrate
と入力すると、次のエラーが表示されました。グーグルで検索して、移行バージョンを[4.2]から[5.1]に変更するようなことを誰かが言ったが、まだ機能していない。
Rails db:migrate Rails aborted!StandardError:エラーが発生しました。これ以降のすべての移行はキャンセルされました:
ActiveRecord :: Migrationから直接継承することはサポートされていません。 Rails移行が書かれたリリースを指定してください:
クラスCreateCkeditorAssets <ActiveRecord :: Migration [4.2]
Rails 5は、移行の作成方法を変更しました。 Rails release starting Rails 5このように指定する必要があります(Rails 5.1)を使用している場合) :
class CreateCkeditorAssets < ActiveRecord::Migration[5.1]
または、テスト移行を作成して、Railsのバージョンが移行を生成し、そこから取得する方法を確認できます。
Rails g model Test name:string
Aditya はすでに答えを書いています。すべての移行を手動で変更するのは多忙な作業なので、それを行うための1つのライナースクリプトを書きました。
Linux(Gnu sed)の場合
grep -rl "ActiveRecord::Migration$" db | xargs sed -i 's/ActiveRecord::Migration/ActiveRecord::Migration[4.2]/g'
Macの場合(BSD sed)
grep -rl "ActiveRecord::Migration$" db | xargs sed -i "" "s/ActiveRecord::Migration/ActiveRecord::Migration[4.2]/g"
注:4.2
でRailsから5.1にアップグレードする元