詳解重置Django migration的常見方式
根據(jù)django官方文檔建議,開發(fā)過程中會(huì)把生成的migrations提交到git中。由于各種原因,會(huì)有一些場(chǎng)景需要重置migrations,故總結(jié)一些常用場(chǎng)景及解決辦法。
場(chǎng)景一
不考慮數(shù)據(jù)庫(kù)數(shù)據(jù),可以完全清空數(shù)據(jù)庫(kù)。
步驟:
刪除所有migrations
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc" -delete
刪除數(shù)據(jù)庫(kù)
重新生成migrations
python manage.py makemigrations python manage.py migrate
場(chǎng)景二
有時(shí)候我們會(huì)直接導(dǎo)入完整的數(shù)據(jù)庫(kù),包括數(shù)據(jù),這種情況下就不能簡(jiǎn)單的清空數(shù)據(jù)庫(kù)。
這時(shí)我們的目的就是:清空數(shù)據(jù)庫(kù)的migration history,保證以后的migrate能正常使用,但要保留其他數(shù)據(jù)。
步驟:
從數(shù)據(jù)庫(kù)中刪除所有非0001_initial的migration history
DELETE FROM django_migrations WHERE app IN ('your','app','labels') AND name != '0001_initial'
使用migrate命令回滾0001_initial的migration history
python manage.py migrate --fake your zero python manage.py migrate --fake app zero python manage.py migrate --fake labels zero
重新生成0001_initial,如果能保證已有0001_initial已是最新的,可跳過此步
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc" -delete python manage.py makemigrations
在數(shù)據(jù)庫(kù)中生成新的0001_initial記錄
python migrate --fake-initial
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python-itchat 統(tǒng)計(jì)微信群、好友數(shù)量,及原始消息數(shù)據(jù)的實(shí)例
今天小編就為大家分享一篇python-itchat 統(tǒng)計(jì)微信群、好友數(shù)量,及原始消息數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02
Python小工具之消耗系統(tǒng)指定大小內(nèi)存的方法
今天小編就為大家分享一篇Python小工具之消耗系統(tǒng)指定大小內(nèi)存的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Keras使用預(yù)訓(xùn)練模型遷移學(xué)習(xí)單通道灰度圖像詳解
這篇文章主要介紹了Keras使用預(yù)訓(xùn)練模型遷移學(xué)習(xí)單通道灰度圖像詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
python如何查看系統(tǒng)網(wǎng)絡(luò)流量的信息
這篇文章給大家介紹了如何了利用Python查看系統(tǒng)網(wǎng)絡(luò)流量的信息,有需要的朋友們可以參考借鑒。下面來一起看看吧。2016-09-09
用Python下載一個(gè)網(wǎng)頁(yè)保存為本地的HTML文件實(shí)例
今天小編就為大家分享一篇用Python下載一個(gè)網(wǎng)頁(yè)保存為本地的HTML文件實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05
python神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)使用Keras進(jìn)行簡(jiǎn)單分類
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)使用Keras進(jìn)行簡(jiǎn)單分類,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Python導(dǎo)入其他文件夾中函數(shù)的實(shí)現(xiàn)方法
本文主要介紹了Python導(dǎo)入其他文件夾中函數(shù)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01

