(Python/Django):如何保持生产数据库与开发电脑数据库的同步(模式和数据)?

3 投票
2 回答
1739 浏览
提问于 2025-04-15 20:59

我在本地有一个Postgres数据库,每天都会往里面填充数据。这时候我想找个好办法,把这些数据转移、同步或者镜像到一个生产环境的Postgres数据库里。

顺便说一下,我是在用Python和Django进行开发。

谢谢!

2 个回答

2

South是一个非常好用的工具,专门用来处理Django项目中的数据库迁移。最新版本现在支持数据库结构和数据的迁移。

http://south.aeracode.org/docs/tutorial/part3.html#data-migrations

这个应用提供了一些管理命令,可以生成可执行的文件,运行这些文件后可以改变数据库的结构或插入记录。这对于自动化生产环境的变更或者团队协作时非常有用。你可以使用像fabric这样的工具(如果必须的话也可以手动操作)来上传迁移文件,并运行迁移命令来更新你的数据库。

3

这对我来说似乎是个奇怪的工作流程。把数据导入到生产数据库里,然后不时地和开发数据库同步,不是更好吗?我觉得开发机器不应该参与生产数据的工作流程。

我用fabric是这样做的。我写了一个简单的函数,可以把生产数据库的一部分复制到本地的开发机器上。

撰写回答