django執行migrate無法生成表,提示 No migrations to apply

li_jinsong發表於2020-05-02
  1. django每修改一次模板類,就要進行遷移操作,生成migrations,由於每一次都要在之前檔案的基礎上新生成一個檔案,導致該目錄檔案看起來很亂。

  2. 嘗試著把之前的檔案都刪掉,重新makemigrations,結果在遷移生成表(python manage.py migrate)時出現了提示“ No migrations to apply.”,

在這裡插入圖片描述

  1. 檢視資料庫,django_migrations資料表,發現在每一次執行遷移生成的migrations檔名稱都已經存放在資料庫中,在進行遷移檔案建表時,會根據資料庫中記錄的遷移檔案執行建表操作,由於已經刪除了資料檔案,導致出現了“ No migrations to apply.”提示

在這裡插入圖片描述

在這裡插入圖片描述

  1. 刪除資料表中這兩條記錄

    delete from django_migrations where app='safty';
    

在這裡插入圖片描述

  1. 重新生成遷移檔案,以應用名“safty”舉例,因為已經有模型和資料庫表,此時要制定應用名,否則會提示“No changes detected”

    python manage.py makemigrations safty
    
  2. 執行

    python manage.py migrate
    
  3. 生成資料表完成

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69972732/viewspace-2689717/,如需轉載,請註明出處,否則將追究法律責任。

相關文章