Django數(shù)據(jù)庫遷移常見使用方法
1 數(shù)據(jù)導出 python manage.py dumpdata
不指定 appname 時默認為導出所有的app
python manage.py dumpdata [appname] > appname_data.json
指定appnamde 導出 指定app 的數(shù)據(jù)(比如appname為cmdb)python manage.py dumpdata cmdb>cmdb.json
2. 數(shù)據(jù)導入python manage.py loaddata
不需要指定 appname
python manage.py loaddata blog_dump.json
優(yōu)點:可以兼容各種支持的數(shù)據(jù)庫,也就是說,以前用的是 SQLite3,可以導出后,用這種方法導入到 MySQL, PostgreSQL等數(shù)據(jù)庫,反過來也可以。
缺點:數(shù)據(jù)量大的時候,速度相對較慢,表的關系比較復雜的時候可能導入不成功。
個人推薦導入數(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 最后導入數(shù)據(jù):python manage.py loaddata blog_dump.json
以上做法,能夠增加數(shù)據(jù)導入的成功率。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
1. python自動化調用百度api解決驗證碼2. 解決Android Studio 格式化 Format代碼快捷鍵問題3. Java Bean與Map之間相互轉化的實現(xiàn)方法4. vue實現(xiàn)web在線聊天功能5. 完美解決vue 中多個echarts圖表自適應的問題6. SpringBoot+TestNG單元測試的實現(xiàn)7. Python使用urlretrieve實現(xiàn)直接遠程下載圖片的示例代碼8. Java使用Tesseract-Ocr識別數(shù)字9. 在Chrome DevTools中調試JavaScript的實現(xiàn)10. Springboot 全局日期格式化處理的實現(xiàn)
