将数据从生产中提取到dev以进行调试(Django)

时间:2009-10-20 18:51:37

标签: mysql django

这就是我想要的:[Production MySQL Data] -> [Development MySQL Data]

对于调试或改进,我偶尔需要在生产站点上运行的数据副本才能存在于我的开发环境中。显然我不想实际使用生产数据库,手动输入数据是不可能的。

是否有任何管理脚本可以轻松无痛地实现(最好使用Django的管理界面)?理想的是:

manage.py reverse_sync [appname]

或许manage.py reverse_sync [appname] 500只获得前500条记录。

2 个答案:

答案 0 :(得分:6)

您想要使用

manage.py dumpdata [appname ...]

获取一个或多个应用的​​数据。这将创建一个fixture文件,您可以在单元测试中使用它,或者只使用与数据库无关的格式。

要加载所有您需要的数据

manage.py loaddata fixturename [...]

它将把它放在与你的设置相对应的数据库中。

答案 1 :(得分:0)

manage.py dumpdata可以将DB数据转储为一个或多个应用程序的夹具。不过,我认为没有办法只通过它获得X记录。你总是可以使用shell,进行查询并序列化它。