1. 程式人生 > >django資料遷移命令執行成功,但未在資料庫中生成表

django資料遷移命令執行成功,但未在資料庫中生成表

場景:

因資料庫預設字符集不是utf8,當上傳中文字元時報錯。

處理過程中刪除了原資料表,重新遷移,資料庫表未能建立

解決步驟:

  1. 修改資料庫中相應表的字符集,上傳資料失敗。
  2. 修改整個資料庫的字符集,上傳資料失敗。
  3. 修改mysql配置檔案/etc/my.cnf.d/server.cnf,重啟資料庫,上傳資料失敗。

 

 

因表中無重要資料,故刪除相應的表。再重新遷移。此時問題出現。

1、執行python manage.py makemigrations  :未報錯,但是已經建立過一次,故沒有任何改變

2、執行python manage.py migrate :未報錯,但是資料庫中未能重新生成表

3、重試幾次無果後,以為是資料庫下django_migrations表因上一次資料遷移提交已記錄,且此次models表未做改變。忽略了此次提交(第15行欄位被刪除, 第16行是遷移成功後重新建立了表後新增)

4、重新執行python manage.py makemigrations  和  python manage.py migrate。無報錯資訊。但建立失敗。

5、刪除post應用下 migrations資料夾。執行python manage.py makemigrations。遷移資料夾migrations 未能重新建立

6、執行python manage.py makemigrations post   指定應用,post/migrations  遷移資料夾生成成功。

7、python manage.py migrate  資料庫表建立成功。

8、前端重新測試提交中文資料,資料提交成功