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

     

     
  • 相关阅读:
    python:利用asyncio进行快速抓取
    os.path.exists(path) 和 os.path.lexists(path) 的区别
    isdigit()判断是不是数字
    switf资源
    51cto培训课程
    51cto运维培训课程
    Python: 在Unicode和普通字符串之间转换
    VC++ CopyFile函数使用方法
    Eclipse断点调试
    AFNetworking2.0后 进行Post请求
  • 原文地址:https://www.cnblogs.com/276815076/p/9969290.html
Copyright © 2011-2022 走看看