1. 程式人生 > 程式設計 >Django資料庫遷移常見使用方法

Django資料庫遷移常見使用方法

1 資料匯出 python manage.py dumpdata

不指定 appname 時預設為匯出所有的app

python manage.py dumpdata [appname] > appname_data.json

指定appnamde 匯出 指定app 的資料(比如appname為cmdb)
python manage.py dumpdata cmdb>cmdb.json

2. 資料匯入python manage.py loaddata

不需要指定 appname

python manage.py loaddata blog_dump.json

優點:可以相容各種支援的資料庫,也就是說,以前用的是 SQLite3,可以匯出後,用這種方法匯入到 MySQL,PostgreSQL等資料庫,反過來也可以。

缺點:資料量大的時候,速度相對較慢,表的關係比較複雜的時候可能匯入不成功。

個人推薦匯入資料做法:

1 將APP的migrations目錄下,只保留__init__.py檔案,其餘檔案全部清空;

重置檔案

python manage.py migrate --fake cmdb zero # cmdb是app的名稱

刪除migrations的處init.py的其他檔案

2 然後分別執行:python manage.py makemigrations 和 python3 manage.py migrate;

3 最後匯入資料:python manage.py loaddata blog_dump.json

以上做法,能夠增加資料匯入的成功率。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。