我的网络堆栈是django / python + postgresql + linux + apache。我使用 fabric 来自动部署从本地到服务器。对于部署自动化,我希望我可以将数据从本地数据库迁移到服务器上的相应数据库。有没有办法做到这一点?如果可能的话,我更愿意看到数据迁移成为 fabric 任务。
答案 0 :(得分:1)
我认为您需要以某种方式将数据导出到文件/文件,复制到目标服务器并导入它们。在Django(documentation)中执行此操作的实用程序是dumpdata
和loaddata
。
所以在本地数据库上:
django-admin.py dumpdata > mydata.json
然后到服务器:
fabric.api.put('mydata.json','/server/data/dir/')
fabric.api.run('django-admin.py loaddata mydata.json')
您还应该查看South,它是Django的数据库迁移工具。