Как организовать легкое переключение с одного типа базы данных на другой в YII2?
В YII2 есть возможность перенастройки проекта для использования различных баз данных, хотелось бы использовать, но на практике понимаю что не всё так просто....
Например запросы в MongoDB совсем не такие как в Mysql и классы для работы с разными базами имеют разный набор функций.
Прошу поделится опытом.
Ответы (1 шт):
Никак.
Никакой "легкой перенастройки" для использования различных баз данных в природе не существует. Это миф. Сказка.
В теории, если использовать для работы с БД только методы ORM (в Yii2 это Active Record), то перенастройка будет элементарной - достаточно будет поменять тип БД в настройках. А дальше ORM будет сам строить запросы в зависимости от типа СУБД.
Но в реальности одними только методами ORM обойтись невозможно, и в приложении всегда будет SQL (в чистом виде или через QueryBuilder) - и все такие запросы придётся переписывать под новый движок.
А если говорить конкретно про MongoDB, то с ней и того проще - в качестве СУБД для проекта она попросту не подходит, и, соответственно, вопрос становится неактуальным (если вам всё ещё кажется что подходит, надо прочитать вот эту статью).