将数据从mongoid提取到Rails灯具中

时间:2014-04-23 08:35:01

标签: ruby-on-rails ruby mongodb mongoid

有没有办法将数据从我的本地开发环境(运行Rails 3mongoid)保存到fixture或转储文件中,以便以后重新导入我的生产环境?据我所知,rake db:dump不适用于mongoid

更新以进一步说明我要做的事情:有时在开发项目时直接添加实时数据(也将在生产网站中使用)会很好实际数据而不是种子样本。最好有一个功能(例如rake任务)将这些数据转储到一个文件中,然后在生产服务器上用rake重新导入它。

1 个答案:

答案 0 :(得分:1)

您可以在db/seeds.rb文件中包含一些数据,并使用rake db:seed命令导入它们。见documentation

db/seeds.rb主要用于某些基本数据,而不是整个数据库。如果要迁移完整数据库,则应使用mongodumpmongoimport命令手动执行此操作。

更新

将生产数据提供给开发环境可能会非常棘手。

如果您的数据不是那么大,您可以设置定期操作,将生产快照放入开发数据库。

如果您的数据库很大(例如几百MB甚至几GB),您将无法轻松地经常更新所有内容。在这种情况下,我认为您需要决定需要哪些数据,并且每次都按照不同的标准获取一些数据。

例如,从集合x获取集合x或获取1000条记录

当然,所有这些都太过笼统,无法回答。您需要准确检查满足您需求的最小集合,并尝试满足这一要求。