Django數(shù)據(jù)庫(kù)遷移常見使用方法
1 數(shù)據(jù)導(dǎo)出 python manage.py dumpdata
不指定 appname 時(shí)默認(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)點(diǎn):可以兼容各種支持的數(shù)據(jù)庫(kù),也就是說,以前用的是 SQLite3,可以導(dǎo)出后,用這種方法導(dǎo)入到 MySQL, PostgreSQL等數(shù)據(jù)庫(kù),反過來也可以。
缺點(diǎn):數(shù)據(jù)量大的時(shí)候,速度相對(duì)較慢,表的關(guān)系比較復(fù)雜的時(shí)候可能導(dǎo)入不成功。
個(gè)人推薦導(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)入的成功率。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Docker究竟是什么 為什么這么流行 它的優(yōu)點(diǎn)和缺陷有哪些?2. ASP.NET MVC實(shí)現(xiàn)城市或車型三級(jí)聯(lián)動(dòng)3. Python使用Pyqt5實(shí)現(xiàn)簡(jiǎn)易瀏覽器(最新版本測(cè)試過)4. Element ui tree(樹)實(shí)現(xiàn)父節(jié)點(diǎn)選中時(shí)子節(jié)點(diǎn)不選中父節(jié)點(diǎn)取消時(shí)子節(jié)點(diǎn)自動(dòng)取消功能5. 如何在.net6webapi中使用自動(dòng)依賴注入6. 用python登錄帶弱圖片驗(yàn)證碼的網(wǎng)站7. 如何使用瀏覽器擴(kuò)展篡改網(wǎng)頁(yè)中的JS 文件8. .NET 6實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼的示例詳解9. python軟件測(cè)試Jmeter性能測(cè)試JDBC Request(結(jié)合數(shù)據(jù)庫(kù))的使用詳解10. java實(shí)現(xiàn)彈球小游戲
