Djangoのmigrationで一度通ったマイグレーションをロールバックせずにもう一度実行したいとき

今回はDjangoのmigrationで一度通ったマイグレーションをロールバックせずにもう一度実行したいときどのようにすれば良いのかについてご紹介いたします。



Djangoのmigrationで一度通ったマイグレーションをロールバックせずにもう一度実行したいとき

Djangoで一度通ったマイグレーションについて、途中で色々マイグレーションを挟んでいてrollbackせずに特定のマイグレーションのみ実行したいときがあると思います。

結論から言うと、migrationのfakeオプションを使えば可能です。

例として、もう一度実行したいマイグレーションがtest_appの「0010_auto_20230522」という名称だったとしましょう。

「0010_auto_20230522」の前が「0009_auto_20230521」だったとします。
現在のマイグレーションの最新が「0015_auto_20230601」としましょう。

まずfakeオプションを使って「0010_auto_20230522」の前の「0009_auto_20230521」に戻ります。

続いて普通に「0010_auto_20230522」を指定してマイグレーションを行います。

最後にfakeオプションで最新の「0015_auto_20230601」に戻しましょう。

これでrollbackをせずに過去のマイグレーションをもう一度実行することが可能です。

終わりに

今回はDjangoのmigrationで一度通ったマイグレーションをロールバックせずにもう一度実行したいときどのようにすれば良いのかについてご紹介いたしました。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Django

Posted by ちこ