2010-01-24 1 views
1

Je suis en train de remplacer ActiveRecord par DataMapper dans l'une de mes applications. Comme il n'y a pas de solutions d'authentification compatibles avec DataMapper, je pense que je pourrais utiliser ActiveRecord juste pour l'authentification de l'utilisateur, puis utiliser DataMapper partout ailleurs. J'aimerais que les deux ORM interagissent avec la même base de données. Est-ce que quelque chose comme ça est possible? J'apprécierais toute aide.Est-il possible que ActiveRecord et DataMapper utilisent la même base de données dans la même application?

Répondre

4

Oui, il est possible d'utiliser les deux sur la même base de données, et même sur la même table. Cependant, lorsque vous les utilisez sur la même table, vous devez savoir que les mécanismes de mise en cache utilisés pour le chargement des enregistrements peuvent être endommagés si vous modifiez un utilisateur avec Datamapper, puis y accédez à nouveau avec ActiveRecord. Vous pouvez obtenir l'enregistrement mis en cache, au lieu de l'enregistrement mis à jour avec le nouveau mot de passe, par exemple. Vous pouvez surmonter cela en utilisant l'option "recharger la force", ou désactiver complètement la mise en cache pour ActiveRecord.

Enfin, je vous conseille vivement de soumettre des rapports/demandes de fonctionnalités bug à la solution d'authentification que vous souhaitez utiliser pour soutenir également DataMapper :-)

+0

Quoi qu'il en soit, vous pouvez poster la configuration de Gemfile et la configuration application.rb où ils jouent ensemble bien ? – Nick

Questions connexes