Привет, разработчики Laravel,
Мне может понадобиться помощь, потому что я не могу самостоятельно разобраться в проблеме.
Вот сценарий:
Я хочу разделить свою базу данных на отдельные базы данных для чтения и записи.По этой причине я настроил config / database.php
'mysql' => [
'driver' => 'mysql',
'write' => ['host' => env('DB_HOST_WRITE', 'localhost'),],
'read' => ['host' => env('DB_HOST_READ', 'localhost'),],
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
Для DB_HOST_WRITE
и DB_HOST_READ
Я установил IP-адреса для серверов, на которых работают базы данных.
Для DB_DATABASE
, DB_USERNAME
, DB_PASSWORD
я настроил имя базы данных и учетные данные для входа.
Оба сервера доступны, когда я пытаюсь получить к ним доступ с помощью консольных команд mysql, таких как:mysql -u USERNAME -h IPADDRESS -p
Вот проблема: Когда я пытаюсь выполнить миграцию с третьего сервера, подобного этому
php artisan migrate
, настраивается только база данных записи.
Это ожидаемое поведение?
Нужно ли переносить каждую базу данных вручную?
Есть ли флаг для команды миграции, который позволяет мне указать соединение, которое яхотите выполнить миграцию?
Я не могу найти что-либо о миграции баз данных с чтением и записью, когда я в поиске Google.
Дальнейшая настройка базы данных не производилась.Мой источник информации - это следующее руководство: https://laravel.com/docs/5.7/database#read-and-write-connections
Ссылки на полезные руководства или предложения решений приветствуются.
Спасибо за ваше внимание.