1

对不起,如果这个问题措辞很尴尬——这里仍然是 Mongo/Mongoid/Rails 新手。

我想问的是:

在我的开发过程中,我一直在改变我的模型设计,在这里添加一些字段,在那里删除一些字段(关于 MongoDB/Mongoid 的一大优点是你可以非常快速轻松地做到这一点!)

一切正常,但在浏览开发数据库时,我有一些“碎屑”——包含未使用的旧字段(和数据)的文档。除了我的垃圾收集敏感性之外,这没什么大不了的。理论上,我可以删除数据库并从头开始,但这很麻烦。

是否有一个实用程序/gem / 等可以从本质上查看当前文档设计并删除实时数据库中与数据模型不匹配的任何字段?

我知道这可以手动完成,并且我知道那里的 mongoid 迁移宝石——它们都是好的,最终是更彻底的解决方案(我会看看)。

不过,现在,我想知道是否有一个简单的“快速”类型的实用程序来简单地同步数据库并删除任何未在我的模型中明确指定的字段。

谢谢!

4

1 回答 1

0

我不知道有什么工具可以为您做到这一点。这不是一个常见的问题,因为大多数人认为这种灵活性是一个有用的特性。

对于您的开发数据库,​​您可能应该将其清除并重新开始。

在生产中,您有几个选择:

  • 编写代码以防止字段丢失和数据库文档与您的 mongoid 模型不匹配。换句话说,要为两者不同步做好准备。

  • 养成每次更改模型时迁移数据的习惯。如果您遵循第一个,这有点麻烦并且不是绝对必要的,但是如果不整洁困扰您,这是一个好主意。有关策略,请参阅管理 mongoid 迁移

于 2013-04-25T17:39:48.900 回答