我已经编写了一个使用默认Active Record ORM和Devise进行用户身份验证的Rails(5.2)应用程序。它还具有其他一些模型和关联:
现在,我必须切换到MongoDB,我在网上找到的所有文章都是关于从头开始使用MongoDB而不是关系数据库的,当然,我不想从头开始重写所有内容。
据我了解,这里是我必须执行的步骤,以便使用例如mongoid gem从Active Record迁移到MongoDB:
< ActiveRecord::Base
继承Mongoid::Document
将db/schema.rb
的每一行转换为mould类中的一行,例如:
t.string "encrypted_password", default: "", null: false
在db/schema.rb
到
field :encrypted_password, type: String, default: "", null: false
在MyModel
类中
配置Rspec以使用Mongoid config.include Mongoid::Matchers
配置database_cleaner
以使用蒙古型DatabaseCleaner.orm = 'mongoid'
运行rails generate mongoid:config
在require 'devise/orm/active_record'
中用require 'devise/orm/mongoid'
替换config/initializers/devise.rb
还有一些未解决的问题,例如:
created_at
和updated_at
吗? (我的猜测是“是”)