Comments 4
Да, приходилось и не раз использовать как минимум 2 базы данных.
В некоторых проектах я видел, да и сами такое писали: одну базу данных выделяли для хранения чувствительной информации о пользователях сайта. Доступ к такой БД имел только администратор сайта (у него отдельный вход в панель управления сайтом).
А информация из второй базы данных была частично доступна пользователям/посетителям сайта. Считайте, торчала в паблик.
Такое разделение делалось из соображений безопасности информации: через скулю максимум утечет только вторая БД, а первая будет нетронутой.
У меня в ларавеле есть 2 кеша: Редис и файловый и соответственно для быстрого доступа и понимания что есть что - есть два фасада: RCache и FCache
Если достаточно дорогой Eloquent не критичен, то можно просто завести себе условно DB2::class фасад и обращаться через него.
А чтобы такое сделать в сервис провайдере достаточно зарегистировать что-то типа:
$this->app->singleton(DB2::class, fn() => DB::driver('secondary'));
Ну и класс фасада сделать, который отдает self::class как ключ привязки
Как же скучно вы живете. 1, 2 бд на поект. Без усета репликации mysq, refis, dynamodb, datastore, elastic, spanner. Нехватает еще какой нить графовой на подобие neo4j.
Используем несколько баз данных в Laravel