Начнём с того, что в доктрине есть
DBAL и
ORM.
Главня задача всех без исключения ORM - представить записи из таблицы БД в виде объектов в коде программы. Все остальные преимущества - избавление от рутины, контроль ошибок, те же миграци - всего лишь плюшки. Но очень удобные и нужные плюшки.
Касательно DBAL. Вот его уже можно сравнить с PDO. По сути, примерно тоже самое, но с расширенным функционалом: логирование, типы и пр.
Безболезненная смена хранилища - это вообще за уши притянутая фича. Тем не менее, почему именно она приходит первой на ум почти всем, кто поднимает разговор об ORM. Я видел только один проект, где планировали сменить mysql на postgresql. И то, в том состоянии проекта, это была далеко не приоритетная задача.
Если проект достиг той стадии развития, что приходится менять хранилище. Безболезненно эта смена точно не пройдёт.
Неа, не прокатит. Для NoSQL, и то только для MongoDB, в доктрине надо цеплять специальный
ODM
_____________
PHP: The Right WayБесплатное обучение Symfony2Tox: 55BB67DE54B1CB14F8C37B4F3AED64E6A45922988D22F85EF75039751F26F05460664D978F5C