プラグインの開発に取り組んでいます(初めての試みです)。
このプラグインには、新しいマイグレーションによるデータベースの拡張が必要です。bin/rake db:migrate コマンドを使用して、この初期マイグレーションを実行することができました。
その後、マイグレーションにいくつかの問題があることに気づき、データベースをロールバックしてからマイグレーションを編集し、再実行しようとしています。
しかし、bin/rake db:rollback を実行すると、以下のエラーが表示されます。
rake aborted!
ActiveRecord::UnknownMigrationVersionError:
No migration with version number 20210820205029.
エラーメッセージに含まれるバージョン番号は、私が作業中のプラグインのマイグレーションと一致しています。
何か解決策はありますでしょうか?
はい、現在プラグインディレクトリ内のマイグレーションをロールバックすることはできません。私が行う方法は、マイグレーションをコアリポジトリに移動することです。
mv plugins/discourse-example/db/migrate/20210823160357_migration.rb db/migrate/20210823160357_migration.rb
ロールバックを実行し、その後マイグレーションをプラグインに戻します。
mv db/migrate/20210823160357_migration.rb plugins/discourse-example/db/migrate/20210823160357_migration.rb
もしあなたのマイグレーションがコアの db ディレクトリ内の最後のマイグレーションではない場合、bin/rails db:migrate:down VERSION=20210823160357 を使用して、移動したマイグレーションをターゲットに指定できます。