我是Rails编程的新手。我正在考虑按railscast tutorial实施设计和omniauth身份验证。由于我还不知道mongoid,我计划刚开始使用Activerecord。最终我想用Mongoid我想。
如何从Activerecord迁移到Mongoid?
我只想跟我的项目滚动。特别是当我的用户很少时,Activerecord可能就足够了。我以前从未这样做过,所以希望有人可以告诉我这种方法是否会比它的价值更麻烦。现在花更多的时间来学习mongoid对我来说更有意义吗?
我很期待收到你们Rails退伍军人的消息。
答案 0 :(得分:5)
使用ActiveRecord,您可以使用mongoid完全构建模型,控制器和视图,因此没有什么区别。最大的区别在于您的数据实际存储和检索的方式,这会影响您的模型,这会直接影响您的代码。
像mongoDB这样的无模式数据库无法像MySQL那样保护你,并且没有简单的方法可以使用Mongoid进行迁移。
如果你刚开始,你可能应该使用ActiveRecord只是因为很多信息都依赖于你使用ActiveRecord和关系数据库。
然而,切换到mongo / mongoid肯定值得任何感觉到的痛苦,但除非你使用了关系数据库和ActiveRecord,否则你可能不会欣赏mongo / mongoid有多棒!
答案 1 :(得分:0)
我相信ActiveRecord就足够了。请考虑那些方便但不能与Mongoid一起使用的小宝石/插件。教程,截屏视频 - 绝大多数是基于默认的ORM / Mysql。
现在,我认为花在Mongoid上的时间是不值得的。
答案 2 :(得分:0)
...并且没有使用Mongoid进行迁移的简单方法。
这不是真的。在Mongoid中创建迁移实际上非常简单。如果要将列添加到数据库表,只需将其添加为"字段"到这样的Model类的顶部:
class User
include Mongoid::Document
field :email, type: String
field :phone, type: String
field :reputation, type: Integer
end
没有创建迁移,也没有耙数据库。只需根据需要添加/删除字段,重新启动服务器,就可以了。但是,您应该谨慎删除字段,因为它们可能会破坏您引用它们的代码。