5

I'm using MongoDB with mongo_mapper gem in Rails and project is big enough. Is there any way I can migrate data from Mongoid to Postgresql?

4

1 回答 1

16

您应该研究一些自动迁移/复制工具,例如 MoSQL:https ://stripe.com/blog/announcing-mosql

这种迁移的一个风险策略是将您的代码库转换为使用 postgres 和您的所有模型,将您的站点置于维护模式,迁移您的数据库,部署新代码并将其恢复。但是,这需要大量的停机时间和错误或数据丢失的开发风险。

一个更安全但更复杂的策略是设置自动将数据迁移到新数据库以同步您的数据库。然后,应用程序中的每个操作都写入两个数据库。在每个事务之后,您验证两个数据库之间的数据是否同步并从 Mongo 读取。这使您可以在发现错误时修复错误并突出显示任何不一致之处。一旦您不再发现差异,您可以关闭对 mongo 的写入并停用该数据库,删除 mongo 模型/代码,然后继续。

于 2013-09-13T18:22:15.327 回答