Django 數據導入和導出(數據庫的遷移方法)


簡單的數據導出與導入(簡單的遷移):

1 數據導出
    django 項目提供了一個導出的方法 python manage.py dumpdata, 不指定 appname 時默認為導出所有的app
    python manage.py dumpdata [appname] > appname_data.json
    
    比如我們有一個項目叫 mysite, 里面有一個 app 叫 blog ,我們想導出 blog 的所有數據
    python manage.py dumpdata blog > blog_dump.json
    
2. 數據導入,不需要指定 appname
    python manage.py loaddata blog_dump.json
    
    
    
優點:可以兼容各種支持的數據庫,也就是說,以前用的是 SQLite3,可以導出后,用這種方法導入到 MySQL, PostgreSQL等數據庫,反過來也可以。

缺點:數據量大的時候,速度相對較慢,表的關系比較復雜的時候可以導入不成功。


個人推薦導入數據做法: 1 將APP的migrations目錄下,只保留__init__.py文件,其余文件全部清空;
    重置文件
    python manage.py migrate --fake mysite zero # mysite是app的名稱
    刪除migrations的處init.py的其他文件

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

3 最后導入數據:python manage.py loaddata blog_dump.json

以上做法,能夠增加數據導入的成功率。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM