【问题标题】:Can I use both Mongoid and ActiveRecord ORMs in rails 4.x?我可以在 rails 4.x 中同时使用 Mongoid 和 ActiveRecord ORM 吗?
【发布时间】:2015-02-28 16:32:16
【问题描述】:

我的 rails 应用现在可以在这些版本上正常运行:

ruby 1.9.3
rails 3.2
mongoid 2.4

我同时依赖 ActiveRecord 和 Mongoid API——ActiveRecord 环绕一个 sqlite3 数据库,而 Mongoid 环绕一个 mongodb 数据库。

我需要将我的应用升级到 ruby​​ 2.0 和 rails 4.x。快速搜索 表明 Mongoid API 尚未正式移植到 ruby​​ 2.0 / rails 4.x, 但是一些开发人员已经找到了解决方法。然而,变通方法 我浏览的是仅限 mongodb 的后端(即,它们依赖于 --skip-active-record 生成应用程序时)。

问题:谁能确定是否使用 BOTH ActiveRecord 和 Mongoid API 将在 ruby​​ 2.0 和 rails 4.x 下工作?

【问题讨论】:

  • 您建议使用 mongoid 4.x 有效!如果你起草一份正式的答案,我会给你功劳。

标签: ruby-on-rails ruby mongoid


【解决方案1】:

我正在将一个同时使用 ActiveRecord 和 Mongoid 的大型应用程序从 Ruby-1.9.3/Rails-3.2/Mongoid-3 升级到 Ruby-2.1.2/Rails-4.2/Mongoid-4。您会希望将 Mongoid-4 与 Rails-4.x 一起使用,但我没有遇到任何特定于 ActiveRecord 和 Mongoid 的问题(当然,除了通常的升级废话)。

您可能想先从 Mongoid-2 转到 Mongoid-3。 Mongoid-3 和 -4 接口几乎相同,但我不太确定 Mongoid-2。

我还建议在接触 Rails 之前迁移到 Ruby-2.x,这样这样的顺序可能会让事情变得更容易:

  1. 将 Mongoid-2 升级到 Mongoid-3。
  2. 将 Ruby-1.9.3 升级到 Ruby-2.x。
  3. 将 Rails-3.2 和 Mongoid-3 升级到 Rails-4.0 和 Mongoid-4。
  4. 将 Rails-4.0 升级到 Rails-4.1。
  5. 将 Rails-4.1 升级到 Rails-4.2。

当然,你会想要一个完整的测试套件,并且你会想要在继续​​下一步之前让所有东西都通过。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 2011-09-26
    • 2015-07-25
    • 1970-01-01
    • 2020-10-22
    相关资源
    最近更新 更多