将使用活动记录的Rails应用程序迁移到MongoDB

将使用活动记录的Rails应用程序迁移到MongoDB,mongodb,mongoid,rails-activerecord,database-migration,ruby-on-rails-5.2,Mongodb,Mongoid,Rails Activerecord,Database Migration,Ruby On Rails 5.2,我已经编写了一个Rails(5.2)应用程序,它使用默认的活动记录ORM,并设计用于验证用户。它还有一些其他模型和关联: 用户有一张卡 用户有许多订阅 订阅有很多发票 现在,我必须切换到MongoDB,我在网上找到的所有文章都是关于从头开始使用MongoDB而不是关系数据库,当然,我不想从头重写所有内容 据我所知,为了从活动记录迁移到MongoDB,我必须遵循以下步骤,例如使用mongoid gem: 删除所有

我已经编写了一个Rails(5.2)应用程序,它使用默认的活动记录ORM,并设计用于验证用户。它还有一些其他模型和关联:

  • 用户有一张卡
  • 用户有许多订阅
  • 订阅有很多发票
现在,我必须切换到MongoDB,我在网上找到的所有文章都是关于从头开始使用MongoDB而不是关系数据库,当然,我不想从头重写所有内容

据我所知,为了从活动记录迁移到MongoDB,我必须遵循以下步骤,例如使用mongoid gem:

  • 删除所有
    继承
  • 在模型类中包括
    Mongoid::Document
  • db/schema.rb
    中的每一行翻译成molde类中的一行,例如:

    t.string“encrypted_password”,默认值:,
    db/schema.rb中的null:false

    字段:加密的\u密码,类型:字符串,默认值:,
    MyModel
    类中的null:false

  • 配置Rspec以使用mongoid
    config.include mongoid::Matchers

  • 配置
    database\u cleaner
    以使用mongoid
    DatabaseCleaner.orm='mongoid'

  • 运行
    rails生成mongoid:config

  • config/initializers/designe.rb中的
    require'designe/orm/mongoid'
    替换为
    require'designe/orm/active_record'

  • 还有一些悬而未决的问题,如:

    • 我还需要翻译在创建的
      和在
      更新的
      吗?(我猜是的)
    • 模型验证仍然有效吗?还是我必须适应它们
    • 还有什么我忘记的步骤吗
    • 有现成的解决方案吗
    我想你说的是MongoDB,不是MangoDB是的,谢谢你纠正我的错误