첫째 :
DB_CONNECTION=mysql
DB_HOST=172.17.0.1
DB_DATABASE=my_database
DB_USERNAME=username
DB_PASSWORD=password
DB_SLAVE_HOST=172.17.0.1
DB_SLAVE_DATABASE=my_database_slave
DB_SLAVE_USERNAME=username2
DB_SLAVE_PASSWORD=password2
DB_MASTER_HOST=172.17.0.1
DB_MASTER_DATABASE=my_database
DB_MASTER_USERNAME=username
DB_MASTER_PASSWORD=password
및
project.dev/config/database.php
가 :
'mysql_master' => [
'driver' => 'mysql',
'host' => env('DB_MASTER_HOST', 'localhost'),
'port' => env('DB_MASTER_PORT', '3306'),
'database' => env('DB_MASTER_DATABASE', 'forge'),
'username' => env('DB_MASTER_USERNAME', 'forge'),
'password' => env('DB_MASTER_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
'mysql_slave' => [
'driver' => 'mysql',
'host' => env('DB_SLAVE_HOST', 'localhost'),
'database' => env('DB_SLAVE_DATABASE', 'forge'),
'username' => env('DB_SLAVE_USERNAME', 'forge'),
'password' => env('DB_SLAVE_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
그런 다음 당신이 그와 같은 방법 setConnection
를 사용할 수 있습니다
public function getIndex(Product $product)
{
$this->products = $product->setConnection('mysql_slave')
->where('id' '>' 20)
->get()
...
DB 연결 ('읽기') -> 테이블 ('고객') -> 페이지 매김 (15);','DB :: 연결 ('쓰기') -> 테이블 ('고객') -> 페이지 매김 (15); 자세한 내용은 -> https://laravel.com/docs/5.5/database#using-multiple-database-connections –
@ Surures Velusamy, 고맙습니다. :) 그래서 여러 DB에 사용자, 암호 등의 연결 정보가 다른 경우 ... 데이터베이스 연결 설정을 작성하는 방법은 무엇입니까? – Magnetic
당신은 새로운 테스트 환경 변수 와'phpunit.xml'을 업데이트해야 값 : "데이터베이스"/ 값 : –