在环境之间移动(大量)数据

时间:2013-02-27 09:22:41

标签: ruby-on-rails database

我有一个Rails 3应用程序 - 它是研究各种项目的界面。我们不希望研究人员意外地将duff数据放入用户站点,因此我们使用研究人员使用的dataentry环境以及面向用户的production环境将应用程序分离。 。研究人员将新数据放入dataentry数据库,该数据库经过检查,然后由编辑签字;数据包含30多个模型,这些模型具有各种belongs_tohas_many关联。

我想要做的是弄清楚如何定期将数据从数据输入环境移动到实时环境。我真的不想丢弃production数据库并每次都将dataentry转储到其中,因为我不想丢失,例如在实际网站上注册的新用户订阅。

我见过的在环境之间迁移数据的大多数解决方案都涉及:a)将内容转储到YAML或类似的东西,或者b)将整个表加载到Ruby数组中,切换数据库连接,并执行{{1}在数组上循环以重新加载它们。当表非常大时,这两种方法似乎都不是最理想的。

我可以(可以想象)each来自mysqldump的所有相关表格,并将结果输入dataentry,但它似乎有点像一个钝器。

在Rails中管理这种“数据暂存”是否有最佳实践?

1 个答案:

答案 0 :(得分:0)

最后我最后选择的是pt-table-sync作业。