執行Django資料遷移,報錯 1091

2022-08-21 09:21:07 字數 2183 閱讀 1124

今天在pycharm 中的terminal下,執行資料遷移操作時,第一步: python manage.py makemigrations ,是沒有任何問題,但就是在執行真正的資料遷移時,也就是第二步:python manage.py migrate 時,報錯,錯誤截圖如下

大概的意思就是   錯誤**1091,原因是  「無法刪除'dt_id';請檢查列/鍵是否存在」。

可能是資料庫中的字段結構,已經完成了對此欄位的修改,但是在執行資料遷移的時候,生成的某個日誌檔案(一般形如:0003_auto_20191011_2032.py),可能還有一些刪除的字段

1

#generated by django 2.0.6 on 2019-10-11 12:3223

from django.db import

migrations, models45

6class

migration(migrations.migration):

78 dependencies =[

9 ('

', '

0002_student'),

10]1112 operations =[

13migrations.removefield(

14 model_name='student',

15 name='age',

16 ),

17 migrations.removefield(

18 model_name='student',

19 name='birthday',

20 ),

21 migrations.removefield(

22 model_name='student',

23 name='salary',

24 ),

25migrations.alterfield(

26 model_name='

student',

27 name='

tel'

,28 field=models.charfield(max_length=20),

29),

30 ]

如上圖的紅色字型問題部分,就是我們這個資料遷移時報錯的原因,只要將紅色字型部分注釋掉即可

1

#generated by django 2.0.6 on 2019-10-11 12:3223

from django.db import

migrations, models45

6class

migration(migrations.migration):

78 dependencies =[

9 ('

', '

0002_student'),

10]1112 operations =[13#

migrations.removefield(14#

model_name='student',15#

name='age',16#

),17

#migrations.removefield(18#

model_name='student',19#

name='birthday',20#

),21

#migrations.removefield(22#

model_name='student',23#

name='salary',24#

),25

migrations.alterfield(

26 model_name='

student',

27 name='

tel'

,28 field=models.charfield(max_length=20),

29),

30 ]

然後我們再次執行 python manage.py migrate  的時候就能成功遷移資料了。

django資料遷移實踐

背景 開始和同事結對開發,一人乙個sqlite3檔案資料庫來儲存配置,有兩個問題 使用django的migrate很麻煩,還得寫db router等控制同步 後來上線發現個問題,那就是檔案資料庫寫的時候會觸發uwsgi的touch reload機制而重啟專案 專案會繼續開發下去資料量會變多,檔案資料...

svn資料遷移git及報錯

首先,我們需要git svn sudo yum install git svn or sodu apt get install git svn原理上,就是使用git svn clone 命令。如果你只是簡單的執行這個命令的話 注意這裡並沒有把主分支的路徑寫完整 稍等一會兒,就可以看到整個 svn 的...

Django模型修改及資料遷移

migrations django中對model進行修改是件麻煩的事情,syncdb命令僅僅建立資料庫裡還沒有的表,它並不對已存在的資料表進行同步修改,也不處理資料模型的刪除。如果你新增或修改資料模型裡的字段,或是刪除了乙個資料模型,你需要手動在資料庫裡進行相應的修改或者使用south。django...