29

入力するrails db:migrateと、次のエラーが表示されました。私はググって、誰かが移行バージョンを [4.2] から [5.1] に変更するようなことを言いましたが、それでも機能しません。

rails db:migrate rails が中止されました! StandardError: エラーが発生しました。これ以降の移行はすべてキャンセルされました:

ActiveRecord::Migration からの直接継承はサポートされていません。移行が書かれた Rails リリースを指定してください:

class CreateCkeditorAssets < ActiveRecord::Migration[4.2]

4

2 に答える 2

56

Adityaはすでに答えを書いています. すべての移行を手動で変更するのは大変な作業です. だから私はそれを行うためのワンライナースクリプトを書きました.

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.25.1 にアップグレードする元のレールに置き換えることができることに注意してください。

于 2017-10-25T11:02:51.657 に答える