• Django使用manage.py备份与恢复数据


    Django dumpdata and loaddata

    dumpdata command

    • It is a django management command, which can be use to backup(export) you model instances or whole database

    dumpdata for basic database dump

    • Following command will dump whole database in to a db.json file
    ./manage.py dumpdata > db.json

    dumpdata for backup specific app

    • Following command will dump the content in django admin app into admin.json file
    ./manage.py dumpdata admin > admin.json

    dumpdata for backup specific table

    • Following command will dump only the content in django admin.logentry table
    ./manage.py dumpdata admin.logentry > logentry.json
    • Following command will dump the content in django auth.user table
    ./manage.py dumpdata auth.user > user.json

    dumpdata (--exclude)

    • You can use --exclude option to specify apps/tables which don't need being dumped

    • Following command will dump the whole database with out including auth.permission table content

    ./manage.py dumpdata --exclude auth.permission > db.json

    dumpdata (--indent)

    • By default, dumpdata will output all data on a single line. It isn’t easy for humans to read

    • You can use the --indent option to pretty-print the output with a number of indentation spaces

    ./manage.py dumpdata auth.user --indent 2 > user.json
    • Example output of above command is below

    Picture

    dumpdata (--format)

    • By default, dumpdata will format its output in JSON

    • You can specify the format using --format option

    • Command supports for following formats(serialization formats)

    1. json
    2. xml
    3. yaml
    ./manage.py dumpdata auth.user --indent 2 --format xml > user.xml
    • Above command output an xml file(user.xml)

    Picture

    loaddata command

    • This command can be use to load the fixtures(database dumps) into database
    ./manage.py loaddata user.json
    • This command will add the user.json file content into the database

    Restore fresh database

    • When you backup whole database by using dumpdata command, it will backup all the database tables

    • If you use this database dump to load the fresh database(in another django project), it can be causes IntegrityError (If you loaddata in same database it works fine)

    • To fix this problem, make sure to backup the database by excluding contenttypes and auth.permissions tables

    ./manage.py dumpdata --exclude auth.permission --exclude contenttypes > db.json
    • Now you can use loaddata command with a fresh database
    ./manage.py loaddata db.json

     

     
  • 相关阅读:
    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第15章节--开发SP2013工作流应用程序 总结
    OpenStreetMap初探(一)——了解OpenStreetMap
    企业服务总线架构介绍
    【Stackoverflow好问题】java在,如何推断阵列Array是否包括指定的值
    C和指针 (pointers on C)——第一章:高速启动
    类别sort使用排序
    [Oracle]
    4点,从今天谈用户体验设计经验京东亚马逊购物
    从[java.lang.OutOfMemoryError: Java heap space]恢复
    C++学习笔记32 断言函数
  • 原文地址:https://www.cnblogs.com/276815076/p/9969290.html
Copyright © 2020-2023  润新知