Django數(shù)據(jù)庫遷移常見使用方法
1 數(shù)據(jù)導(dǎo)出 python manage.py dumpdata
不指定 appname 時默認(rèn)為導(dǎo)出所有的app
python manage.py dumpdata [appname] > appname_data.json
指定appnamde 導(dǎo)出 指定app 的數(shù)據(jù)(比如appname為cmdb)python manage.py dumpdata cmdb>cmdb.json
2. 數(shù)據(jù)導(dǎo)入python manage.py loaddata
不需要指定 appname
python manage.py loaddata blog_dump.json
優(yōu)點:可以兼容各種支持的數(shù)據(jù)庫,也就是說,以前用的是 SQLite3,可以導(dǎo)出后,用這種方法導(dǎo)入到 MySQL, PostgreSQL等數(shù)據(jù)庫,反過來也可以。
缺點:數(shù)據(jù)量大的時候,速度相對較慢,表的關(guān)系比較復(fù)雜的時候可能導(dǎo)入不成功。
個人推薦導(dǎo)入數(shù)據(jù)做法:
1 將APP的migrations目錄下,只保留__init__.py文件,其余文件全部清空;
重置文件
python manage.py migrate --fake cmdb zero # cmdb是app的名稱
刪除migrations的處init.py的其他文件
2 然后分別執(zhí)行:python manage.py makemigrations 和 python3 manage.py migrate;
3 最后導(dǎo)入數(shù)據(jù):python manage.py loaddata blog_dump.json
以上做法,能夠增加數(shù)據(jù)導(dǎo)入的成功率。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. idea設(shè)置提示不區(qū)分大小寫的方法2. HTTP協(xié)議常用的請求頭和響應(yīng)頭響應(yīng)詳解說明(學(xué)習(xí))3. .NET SkiaSharp 生成二維碼驗證碼及指定區(qū)域截取方法實現(xiàn)4. ASP.NET MVC通過勾選checkbox更改select的內(nèi)容5. css代碼優(yōu)化的12個技巧6. IntelliJ IDEA創(chuàng)建web項目的方法7. 原生JS實現(xiàn)記憶翻牌游戲8. Django使用HTTP協(xié)議向服務(wù)器傳參方式小結(jié)9. CentOS郵件服務(wù)器搭建系列—— POP / IMAP 服務(wù)器的構(gòu)建( Dovecot )10. django創(chuàng)建css文件夾的具體方法
