亚洲色蝴蝶中文娱乐网,在线亚洲欧美一区二区中文字幕,无人视频在线观看视频高清视频,99午夜国产精品一区二区,人人妻人人爽人人狠狠

Django學(xué)習(xí)migrate和makemigrations的差別

時(shí)間:2021-12-27 11:11:05 類型:python
字號(hào):    

  在你改動(dòng)了 model.py的內(nèi)容之后執(zhí)行下面的命令:

Python manger.py makemigrations

  相當(dāng)于 在該app下建立 migrations目錄,并記錄下你所有的關(guān)于modes.py的改動(dòng),比如0001_initial.py, 但是這個(gè)改動(dòng)還沒有作用到數(shù)據(jù)庫(kù)文件

  你可以手動(dòng)打開這個(gè)文件,看看里面是什么

  在此之后執(zhí)行命令

  將該改動(dòng)作用到數(shù)據(jù)庫(kù)文件,比如產(chǎn)生table之類

  python manage.py makemigrations這個(gè)命令是記錄我們對(duì)models.py的所有改動(dòng),并且將這個(gè)改動(dòng)遷移到migrations這個(gè)文件下生成一個(gè)文件例如:0001文件,如果你接下來還要進(jìn)行改動(dòng)的話可能生成就是另外一個(gè)文件不一定都是0001文件,但是這個(gè)命令并沒有作用到數(shù)據(jù)庫(kù),而當(dāng)我們執(zhí)行python manage.py migrate 命令時(shí)  這條命令的主要作用就是把這些改動(dòng)作用到數(shù)據(jù)庫(kù)也就是執(zhí)行migrations里面新改動(dòng)的遷移文件更新數(shù)據(jù)庫(kù),比如創(chuàng)建數(shù)據(jù)表,或者增加字段屬性

  另外一個(gè)需要注意的是這兩個(gè)命令默認(rèn)情況下是作用于全局,也就是對(duì)所有最新更改的models或者migrations下面的遷移文件進(jìn)行對(duì)應(yīng)的操作,如果要想僅僅對(duì)部分app進(jìn)行作用的話  則執(zhí)行如下命令:

 

  python manage.py makemigrations appname,

  python manage.py migrate appname,

  如果要想精確到某一個(gè)遷移文件則可以使用:

  python manage.py migrate appname 文件名


<