Mongoid:是否有实用程序可以使用模型中定义的当前"schema" "sync"数据库的字段?



如果这个问题措辞不当,很抱歉——这里仍然是Mongo/Mongoid/RRails的新手。

我想问的是:

在我的开发过程中,我一直在改变我的模型的设计,在这里添加一些字段,在那里删除一些字段(MongoDB/Mongoid的一个伟大之处是,你可以非常快速轻松地完成这项工作!)

一切都在工作,但在浏览开发数据库时,我得到了一些"碎屑"——包含未使用的旧字段(和数据)的文档。这没什么大不了的,除了我的垃圾集体情感。理论上,我可以放弃DB,从头开始,但这很混乱。

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

我知道这可以手动完成,我也知道mongoid迁移的精华——这些都是好的,最终也是更彻底的解决方案(我将研究)。

不过,就目前而言,我想知道是否有一种简单的"快速"实用程序可以简单地同步数据库并删除模型中未明确指定的任何字段。

谢谢!

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

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

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

  • 编写代码,以确保对丢失的字段和与mongoid模型不匹配的数据库文档具有鲁棒性。换言之,要为两者不同步做好准备。

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

最新更新