從現有數據庫開始,我想更新它的模式。我改變了我的一個模型,然後運行Django遷移不會更新我的數據庫
python manage.py makemigrations myapp
它創建遷移,正確定義新的表和列。輸出示例:
Migrations for 'myapp':
0001_initial.py:
- Create model Foo
- Add field Bar
- ...
然後我申請遷移:
python manage.py migrate --database mydb
我得到這樣的輸出:
Operations to perform:
Apply all migrations: admin, myapp, contenttypes, sessions, auth
Running migrations:
Rendering model states... DONE
Applying admin.0002_logentry_remove_auto_add... OK
Applying auth.0007_alter_validators_add_error_messages... OK
這似乎已經奏效。 Git告訴我,對應於「mydb」的sqlite文件已經改變。然而,它並沒有將我的新表和列放在裏面,它只是刪除了內容,留下的空表與舊的模式一起。
我在做什麼錯?
嘗試:'python manage.py migrate myapp' –
默認情況下,它會嘗試應用每種可能的遷移(在我的情況中只有一種)。 – JulienD