是否有可能让ActiveRecord和DataMapper在同一个应用程序中使用相同的数据库?

时间:2010-01-24 05:40:25

标签: ruby-on-rails activerecord datamapper

我正在使用我的某个应用中的DataMapper替换ActiveRecord。由于没有任何与DataMapper兼容的身份验证解决方案,我认为我只能将ActiveRecord用于用户身份验证,然后在其他地方使用DataMapper。我想让两个ORM与同一个数据库进行交互。这样的事情可能吗?我很感激任何帮助。

1 个答案:

答案 0 :(得分:4)

是的,可以在同一个数据库中使用它们,甚至可以在同一个表中使用。

但是,当您在同一个表上使用它们时,您应该知道,如果使用Datamapper修改用户,然后使用ActiveRecord再次访问它,则用于加载记录的缓存机制可能会中断。例如,您可以获取缓存记录,而不是使用新密码的更新记录。您可以使用“强制重新加载”选项来解决此问题,或者完全禁用ActiveRecord的缓存。

最后,我建议您向要使用的身份验证解决方案提交错误报告/功能请求,以支持DataMapper :-)