Возможно ли, чтобы ActiveRecord и DataMapper использовали одну и ту же базу данных в одном приложении? - PullRequest
1 голос
/ 24 января 2010

Я в процессе замены ActiveRecord на DataMapper в одном из моих приложений. Поскольку нет никаких решений для проверки подлинности, совместимых с DataMapper, я думаю, что я мог бы использовать ActiveRecord только для проверки подлинности пользователя, а затем использовать DataMapper где-либо еще. Я хотел бы, чтобы оба ORM взаимодействовали с одной и той же базой данных. Возможно ли что-то подобное? Буду признателен за любую помощь.

1 Ответ

4 голосов
/ 24 января 2010

Да, можно использовать как в одной базе данных, так и даже в одной таблице.

Однако, когда вы используете их в одной таблице, вы должны знать, что механизмы кэширования, используемые для загрузки записей, могут сломаться, если вы измените пользователя с помощью Datamapper, а затем снова получите к нему доступ с помощью ActiveRecord. Например, вы можете получить кэшированную запись вместо обновленной записи с новым паролем. Вы можете преодолеть это с помощью параметра «принудительная перезагрузка» или полностью отключить кэширование для ActiveRecord.

Наконец, я призываю вас отправлять отчеты об ошибках / запросы функций в решение для аутентификации, которое вы хотите использовать для поддержки DataMapper :-)

...