回答編集履歴

1

回答を追記

2020/08/01 04:21

投稿

hasami
hasami

スコア1277

test CHANGED
@@ -11,3 +11,39 @@
11
11
  python manage.py migrate
12
12
 
13
13
  ```
14
+
15
+
16
+
17
+ > PostgreSQLのDBを drop database で削除し、再度作成。
18
+
19
+ > makemigrations ⇒ migrate を行いました。マイグレーションは成功していますが
20
+
21
+
22
+
23
+ ここからは、調べたわけでなくマイグレーション動作から想像した意見です。
24
+
25
+
26
+
27
+ `Django`は、どのマイグレーションファイルを適用したかを記録しています。
28
+
29
+ また、モデルが変更されていなければ、`makemigrations`コマンドでマイグレーションファイルは作成されません。
30
+
31
+ ※`DBMS`を変更したことがないため、DBMSを変更した場合にマイグレーションファイルが作成されるかを把握しておりません。
32
+
33
+
34
+
35
+ よって、データーベースを削除しただけでは、マイグレーションファイルは作成されず、適用もされないと思います。
36
+
37
+
38
+
39
+ 開発時はモデルの変更が重なったとき、マイグレーションを最初からやり直すことが良くあります。このときは、下記を実行するカスタムコマンドを作成して実行しています。
40
+
41
+ - すべてのアプリのマイグレーションファイルを削除
42
+
43
+ - データーベースを削除
44
+
45
+ - マイグレーションの実行
46
+
47
+
48
+
49
+ [How to Reset Migrations](https://simpleisbetterthancomplex.com/tutorial/2016/07/26/how-to-reset-migrations.html)