Динамическое подключение к бд Laravel
Я пытаюсь реализовать через middleware динамическое соединение с бд. (добавлю: будет существовать около 200 подключений к бд. Каждое подключение, может быть, отдельным сервером. Структура бд будет одна и та же, будут меняться сами данные)
Успешно приходят данные, я заменяю их в config('database.connections.name)
Как я выяснил эта ошибка возникает из-за удалении сессии. Уходит запрос на удаление сессии в бд, имея при этом старое подключение 
Переменная $this - имеет старое подключение, но если я запрашиваю модель, она берется из нового подключения.
Если я в middleware убираю DB::purge('tr_archive');
Тогда запрос уходит, авторизация прошла успешно. Но сессия не сохраняется в базе данных, и на следующий запрос возвращается 401, необходимо авторизоваться
Так же пытался добавить новое подключение к бд и к session.connection, ошибка та же, что и на втором скриншоте
Ответы (2 шт):
app/config/database.php
return array(
'default' => 'mysql',
'connections' => array(
# Primary/Default database connection
'mysql' => array(
'driver' => 'mysql',
'host' => 'host1',
'database' => 'database1',
'username' => 'user1',
'password' => 'pass1'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
# Secondary database connection
'mysql2' => array(
'driver' => 'mysql',
'host' => 'host2',
'database' => 'database2',
'username' => 'user2',
'password' => 'pass2'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
);
Запрос ко второму подключению:
$users = DB::connection('mysql2')->select(...);
Получилось разобраться с этой ситуации. Сессия почему-то не может переподключиться к новому соединению. Изначально мы использовали две бд.
- использовали для различных метрик, и базовые ларавеловские таблицы
- база данных приложения. Там всё таблицы, для всех моделей. Это подключение должно изменяться.
И вот у нас сессия хранилась во второй базе. Когда мы меняли подключение, то система не видела старое соединение с базой. Мы перенесли таблицу сессию ларавеь в первое соединение. Теперь всё работает.

