跳转到主要内容

Denis帮助您从django项目中恢复意外删除的数据

项目描述

https://travis-ci.org/xrmx/django-denis.svg

Denis帮助您从django项目中恢复意外删除的数据。

理由

人类会犯错,有时他们会意外地从django管理中删除数据,您必须花下午时间从数据库转储中恢复数据。有时人叫Denis。

需求

  • Django >= 1.6

安装

  • pip安装 django-denis

用法

给定一个查询集,django-denis会找到django管理器将要删除的内容,并从备份数据库中恢复它们。

这里是一个示例会话

$ python manage.py shell
>>> from denis import Denis
>>> from django.contrib.auth.models import User
>>> User.objects.filter(pk=40182)
[]
>>> qs = User.objects.using('backup').filter(pk=40182)
>>> denis = Denis(qs, using='backup')
>>> denis.recover(using='default')
>>> User.objects.using('default').filter(pk=40182)
<User: cicciopasticcio>

上面的代码假设在settings.py中的DATABASES有一个名为backup的配置条目,它应该指向一个包含您想要恢复的数据的数据库。

请谨慎操作

请始终在数据库副本上测试(并再次测试)恢复,以确保在生产数据库上操作之前一切正常。

当然,我们不对此代码承担责任。自行承担风险!

支持者