zoukankan      html  css  js  c++  java
  • 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

     

     
  • 相关阅读:
    Jquery中的this指向的是哪个对象?
    需要重新编辑
    关于CSS选择器优先级无冲突样式设置的展示
    在 CSS 中,width 和 height 指的是内容区域的宽度和高度
    关于正则表达式中分组的一些误解勘正以及String的replaceAll方法误解勘正
    关于informatica的Dynamic Lookup组件使用中遇到的一个问题的思考
    【转】Informatica Update 机制详解
    维度表和事实表的含义
    今天看IO流,复制word遇到的一个小问题
    小试下新博客,一个列传行的SQL
  • 原文地址:https://www.cnblogs.com/276815076/p/9969290.html
Copyright © 2011-2022 走看看