久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Django如何重置migration的幾種情景

瀏覽:165日期:2024-09-12 18:57:00
情景一:不需要原有的數(shù)據(jù)庫(kù)數(shù)據(jù) 刪除數(shù)據(jù)庫(kù)所有的表 刪除項(xiàng)目的migration模塊中的所有 文件,除了__init__.py 文件 執(zhí)行腳本

python manage.py makemigrationspython manage.py migrate情景2:不想要?jiǎng)h除現(xiàn)有的數(shù)據(jù)庫(kù),只是想重新建立 migration 文件

首先要保證,目前的migration文件和數(shù)據(jù)庫(kù)是同步的,通過(guò)執(zhí)行

python manage.py makemigrations

如果看到 這樣的提示: No changes detected,則可以繼續(xù)接下來(lái)的步驟

通過(guò)執(zhí)行

python manage.py showmigrations

結(jié)果,可以看到當(dāng)前項(xiàng)目,所有的app及對(duì)應(yīng)的已經(jīng)生效的migration文件如

git_hook [X] 0001_initialguardian [X] 0001_initialkombu_transport_django [X] 0001_initialmessage (no migrations)order [X] 0001_initialpay [X] 0001_initial [x] 0002_add_modelsessions [X] 0001_initial

通過(guò)執(zhí)行

$ python manage.py migrate --fake pay zero

這里的 pay就是你要重置的app

之后再執(zhí)行 python manage.py showmigrations,你會(huì)發(fā)現(xiàn) 文件前的 [x] 變成了[ ]

現(xiàn)在,你可以刪除pay 這個(gè) app下的migrations模塊中 除 init.py 之外的所有文件。

之后,執(zhí)行

$ python manage.py makemigrations

程序會(huì)再次為這個(gè)app 生成 0001_initial.py 之類的文件

最重要的一步來(lái)了, 執(zhí)行

python manage.py migrate --fake-inital

?fake-inital 會(huì)在數(shù)據(jù)庫(kù)中的 migrations表中記錄當(dāng)前這個(gè)app 執(zhí)行到 0001_initial.py ,但是它不會(huì)真的執(zhí)行該文件中的 代碼。這樣就做到了,既不對(duì)現(xiàn)有的數(shù)據(jù)庫(kù)改動(dòng),而又可以重置 migraion 文件,媽媽再也不用在 migration模塊中看到一推文件了。

參考https://simpleisbetterthancomplex.com/tutorial/2016/07/26/how-to-reset-migrations.html

到此這篇關(guān)于Django如何重置migration的幾種情景的文章就介紹到這了,更多相關(guān)Django 重置migration內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 深水埗区| 武威市| 万州区| 得荣县| 中阳县| 霞浦县| 元江| 务川| 娱乐| 个旧市| 东明县| 舟山市| 酉阳| 昆明市| 南丰县| 白山市| 靖西县| 湖州市| 泸西县| 花莲市| 保德县| 天长市| 修武县| 洪雅县| 西乡县| 奈曼旗| 博兴县| 平度市| 东明县| 宿迁市| 靖江市| 凤台县| 牡丹江市| 象州县| 漳平市| 二连浩特市| 阳谷县| 且末县| 衡山县| 平度市| 措美县|