亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Django-migrate報錯問題解決方案

瀏覽:148日期:2024-10-10 10:31:57

python3 manage.py makemigrations # 生成數據庫遷移文件python3 manage.py migrate # 遷移數據庫

簡簡單單兩條命令就完成了django的數據庫遷移

但是今天一天的時間都耽誤在這了,一點都不夸張的那種,,早上去公司討論需求之后,研究了一下需要更改一下數據庫,在執行makemigrations的時候OK沒有問題,但是migrate就報錯了

1.報錯: XX表已經存在,django.db.utils.OperationalError: (1050, 'Table XX already exists

我:刪表,但是報錯,Cannot delete or update a parent row: a foreign key constraint fails 跟YY表存在外鍵關系,無法刪除,

百度了一番之后:1、SET foreign_key_checks = 0; // 先設置外鍵約束檢查關閉

2、drop table XX; // 刪除數據,表或者視圖

3、SET foreign_key_checks = 1; // 開啟外鍵約束檢查,以保持表結構完整性 

2.表刪了之后重新執行migrate,又報錯別的表存在,如此一直循環往復,我都懷疑這是人家寫的一個while True,

我:找到了第二種解決方案:python manage.py migrate myapp --fake # 切記把myapp換成你要執行的APP名稱

這條命令可以順利執行,沒有報錯,但是又找不到對應生成的表在哪里,頂如還是說不能成功

3.將之前執行makemigrations生成的migrations文件夾刪除,重新來過,OK,還是一樣的毛病,

4.重新創建了database之后,重新來過,只生成了django自帶的那幾張表,然而項目里大多的數據存儲都是依靠我在每一個app里創建的table里呀

5.將每個APP下的migrations都刪掉,database也重新來過,好嘛,連最基本的數據庫遷移文件夾都不能生成了,一瞬間有種悔不當初的感覺,但是又能怎么樣呢,就是需要調整數據庫呀

6.這個時候重頭開始來過,千萬不要慌,檢查settings里是否把每一個APP都注冊到,項目同名目錄下的__init__.py里是否包含了

import pymysql

pymysql.install_as_MySQLdb()

7.沒有問題之后這樣去執行數據庫遷移的命令 

python3 manage.py migrate # 生成django自帶的數據庫python3 manage.py makemigrations appname # 將appname換成你要遷移的那個app的名稱python3 manage.py migrate appname # 同理,換名

至此,一個小小的問題,真的就花了我一天的時間,好在終于解決了,

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 免费看一毛一级毛片视频 | 色综合图片| 色播99 | 狂野猛交xxxx吃奶 | 特级www | 伊人久久综合影院 | jizz大全日本护士喷奶水 | 99re久久资源最新地址 | 午夜性刺激免费视频观看不卡专区 | 国产精品久久久久久麻豆一区 | 丁香婷婷综合五月综合色啪 | 国产小视频在线观看免费 | 欧美日韩视频二区三区 | 综合天天色 | 国产青草视频在线观看 | 国产成人精品视频午夜 | 福利视频一区二区 | 宅男午夜剧场 | 国产黄色毛片 | 瑟瑟网站在线观看 | 美国一级毛片片aa久久综合 | 国产高清晰在线播放 | 黄色毛片一级 | 精品国产区一区二区三区在线观看 | 91黑丝国产线观看免费 | 国产香蕉在线视频 | 成人在线观看不卡 | 免费黄色大片网站 | 国产精品欧美亚洲韩国日本 | 日韩在线观看高清 | 激情丝袜欧美专区在线观看 | 九色精品高清在线播放 | 日韩爽爽视频爽爽 | 在线亚洲欧国产精品专区 | 成人a视频在线观看 | 欲色网站| 亚洲狠狠狠一区二区三区 | 欧美毛片在线播放观看 | 97se亚洲综合在线韩国专区福利 | 亚洲中国日本韩国美国毛片 | 成人在线观看一区 |