Dynami c Изменение базы данных в Laravel - PullRequest
0 голосов
/ 04 марта 2020

Я использую DB::disconnect и DB::reconnection для подключения базы данных для мультитенантной системы в Laravel 5.2.

Код такой:

DB::disconnect();
Config::set('database.connections.mysql', $config);
DB::reconnect();

Где $ config - это массив конфигураций, которые нужно установить, это работает нормально, когда мне нужно изменить единственное имя базы данных, но когда я хочу изменить префикс для базы данных, она не работает, каждый раз, когда она забирает старые база данных.

Я пытался config:cache из промежуточного программного обеспечения, где я меняю соединение, но он удаляет все входные переменные.

Итак, что я могу сделать, чтобы изменить префикс соединения с БД? Любая помощь?

1 Ответ

2 голосов
/ 04 марта 2020

Вам нужно очистить кеш объекта базы данных:

// Will disconnect automatically
DB::purge('mysql');

// Register new config
Config::set('database.connections.mysql', $config);

// Will reconnect automatically
DB::table('table')->get();

...