有没有办法将数据从我的本地开发环境(运行Rails 3
和mongoid
)保存到fixture或转储文件中,以便以后重新导入我的生产环境?据我所知,rake db:dump
不适用于mongoid
。
更新以进一步说明我要做的事情:有时在开发项目时直接添加实时数据(也将在生产网站中使用)会很好实际数据而不是种子样本。最好有一个功能(例如rake
任务)将这些数据转储到一个文件中,然后在生产服务器上用rake
重新导入它。
答案 0 :(得分:1)
您可以在db/seeds.rb
文件中包含一些数据,并使用rake db:seed
命令导入它们。见documentation
db/seeds.rb
主要用于某些基本数据,而不是整个数据库。如果要迁移完整数据库,则应使用mongodump和mongoimport命令手动执行此操作。
更新
将生产数据提供给开发环境可能会非常棘手。
如果您的数据不是那么大,您可以设置定期操作,将生产快照放入开发数据库。
如果您的数据库很大(例如几百MB甚至几GB),您将无法轻松地经常更新所有内容。在这种情况下,我认为您需要决定需要哪些数据,并且每次都按照不同的标准获取一些数据。
例如,从集合x获取集合x或获取1000条记录
当然,所有这些都太过笼统,无法回答。您需要准确检查满足您需求的最小集合,并尝试满足这一要求。