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」に戻ります。
1 |
manage.py migrate --fake test_app 0009_auto_20230521 |
続いて普通に「0010_auto_20230522」を指定してマイグレーションを行います。
1 |
manage.py migrate test_app 0010_auto_20230522 |
最後にfakeオプションで最新の「0015_auto_20230601」に戻しましょう。
1 |
manage.py migrate --fake test_app 0015_auto_20230601 |
これでrollbackをせずに過去のマイグレーションをもう一度実行することが可能です。
終わりに
今回はDjangoのmigrationで一度通ったマイグレーションをロールバックせずにもう一度実行したいときどのようにすれば良いのかについてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません