데이터베이스 연결정보를 환경변수에 추가하기
먼저 여러 데이터베이스에 연결을 하기 해서는 연결하려는 여러 데이터베이스 정보를 알고 있어야 겠죠? 그렇다면 이 정보들을 어디에 저장하는가하면 바로 ".env" 파일에 저장을 합니다.
기본적으로 입력 되어있는 정보 밑에 데이터베이스 정보를 새로 추가하면 되겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | // .env APP_ENV=local APP_KEY= APP_DEBUG=true APP_LOG_LEVEL=debug APP_URL=http: //localhost DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret ... //////////////////// DB1_HOST=127.1.2.3 DB1_PORT=4010 DB1_DATABASE=newDB DB1_USERNAME=newID DB1_PASSWORD=newPW DB2_HOST=127.4.5.6 DB2_PORT=4411 ... |
데이터베이스 설정 파일에 연결정보 추가하기
데이터베이스 설정파일(database.php)에 DB를 추가합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | // config/database.php 'connections' => [ 'sqlite' => [ 'driver' => 'sqlite' , 'database' => env( 'DB_DATABASE' , database_path( 'database.sqlite' )), 'prefix' => '' , ], 'mysql' => [ 'driver' => 'mysql' , 'host' => env( 'DB_HOST' , '127.0.0.1' ), 'port' => env( 'DB_PORT' , '3306' ), 'database' => env( 'DB_DATABASE' , 'forge' ), 'username' => env( 'DB_USERNAME' , 'forge' ), 'password' => env( 'DB_PASSWORD' , '' ), 'charset' => 'utf8mb4' , 'collation' => 'utf8mb4_unicode_ci' , 'prefix' => '' , 'strict' => true, 'engine' => null, ], // DB 추가 'newDB1' => [ 'driver' => 'mysql' , 'host' => env( 'DB1_HOST' , '127.0.0.1' ), 'port' => env( 'DB1_PORT' , '3306' ), 'database' => env( 'DB1_DATABASE' , 'forge' ), 'username' => env( 'DB1_USERNAME' , 'forge' ), 'password' => env( 'DB1_PASSWORD' , '' ), 'charset' => 'utf8mb4' , 'collation' => 'utf8mb4_unicode_ci' , 'prefix' => '' , 'strict' => true, 'engine' => null, ], 'newDB2' => [ 'driver' => 'mysql' , 'host' => env( 'DB2_HOST' , '127.0.0.1' ), 'port' => env( 'DB2_PORT' , '3306' ), 'database' => env( 'DB2_DATABASE' , 'forge' ), 'username' => env( 'DB2_USERNAME' , 'forge' ), 'password' => env( 'DB2_PASSWORD' , '' ), 'charset' => 'utf8mb4' , 'collation' => 'utf8mb4_unicode_ci' , 'prefix' => '' , 'strict' => true, 'engine' => null, ] // !-- DB 추가 끝 ] ... |
Model에서의 사용 예
위에서 추가한 데이터베이스의 테이블 정보를 가져오는 Model을 생성해보겠습니다.
1 2 3 4 5 6 7 8 9 | // php artisan make:model NewModel namespace App; use Illuminate\Database\Eloquent\Model; class NewModel extends Model { protected $connection = 'newDB1' ; protected $table = 'new_table' ; } |
'PHP' 카테고리의 다른 글
[Laravel] 마이그레이션 에러(Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform may not support it.) 해결 방법 (0) | 2017.12.08 |
---|---|
[Laravel 5.4] 패스워드 변경 후 로그인 유지 하는 방법 (2) | 2017.07.03 |
[PHP] Laravel 5, Custom Exception 사용하기 (1) | 2017.02.12 |
[PHP]라인 봇(LINE BOT) 사용을 위한 Webhook 기능 사용하기 (0) | 2016.11.16 |
[PHP] password_hash 패스워드 함수 사용하기. (0) | 2016.07.21 |