0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Django】一度`migration`ファイルを削除すると...再作成してもマイグレートで`no migrations to apply`となる

Posted at

概要

  • Djangoでmigrationファイルを削除すると、うまくマイグレートすることができなくなりました。migrationファイル削除による影響を記載します。

マイグレーションファイルの詳細:

  • Djangoがデータベーススキーマの変更を記録するためのファイル。
    • 変更=フィールドの追加やモデルの削除など
  • ファイルは、「アプリ名/migrations/」以下に保存されます。
  • ファイル名は、「マイグレーション番号_マイグレーション名.py」という形式(番号が実行順序)になります。

migrationファイルを削除すると...

  • ネットの記事で「マイグレーションファイルを削除して再度マイグレーションすることができる」みたいな文章を見かけるのですが、自分のdocker環境では一度消して再度実行すると、マイグレーションファイルは作成されマイグレーション履歴まで表示されているのに、実行結果はno migrations to applyと返ってきてしまいました。

原因は?

  • おそらく、マイグレーション履歴テーブルに既にそのマイグレーションが適用されたことが記録されているため、再度マイグレーションを実行する必要がないと判断された?のだと思います。
  • DB削除してコンテナ起動し直すと、無事に実行できましたが、マイグレーションファイルはdjangoとDBの不仲を生み出す可能性がある存在なので、迂闊にいじらない方がいいなと思います。ローカル環境なので好きに触っていますが、本番ではバックアップ取らずにいじると大変なことになるでしょう...。マイグレーションファイルの削除は最後の手段ですね。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?