Lumen으로 여러 DB에 액세스하는 방법
프로파일 추가
새로 만드십시오config/database.php
.
다음과 같은 구성이어야 한다..
├── app
├── artisan
├── bootstrap
├── composer.json
├── composer.lock
├── config
│ └── database.php
├── database
├── phpunit.xml
├── public
├── readme.md
├── resources
├── routes
├── storage
├── tests
└── vendor
파일 로깅 설정 config/database.php
의 connections
그룹에 연결 목적지를 추가합니다.<?php
return [
'default' => 'db1',
'migrations' => 'migrations',
'connections' => [
'db1' => [
'driver' => env('DB_CONNECTION'),
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
'db2' => [
'driver' => env('DB2_CONNECTION'),
'host' => env('DB2_HOST'),
'port' => env('DB2_PORT'),
'database' => env('DB2_DATABASE'),
'username' => env('DB2_USERNAME'),
'password' => env('DB2_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
],
];
default
명시적으로 지정되지 않은 DB의 방향migrations
설정하지 않으면 artisan migrate에서 오류가 발생합니다.
.env 파일 수정 .env
파일에 연결 대상 정보를 기록하는 상수를 추가합니다.DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db1
DB_USERNAME=
DB_PASSWORD=
DB2_CONNECTION=mysql
DB2_HOST=127.0.0.1
DB2_PORT=3306
DB2_DATABASE=db2
DB2_USERNAME=
DB2_PASSWORD=
※ 상기 접속 정보는 적절하니 환경에 맞게 설정
이용 방법
기본적으로 config/database.php
의 default
에 지정된 목적지에 연결된 DB
다른 DB에 액세스하려면 명시적으로 지정해야 합니다.
Eloquent 옆에 연결 정보를 기록하는 방법
<?php
class Hoge extends Model {
protected $connection = 'db2';
}
실행 시 연결 정보 정의 방법
<?php
class ExampleController extends Controller {
public function fooMethod()
{
$foo = new Foo;
$foo->setConnection('db2');
$data = $foo->find(1);
return $data;
}
}
조회 구축기에서 지정한 방법
$users = DB::connection('db2')->select(...);
결론
Laavel과 기본적으로 동일
Reference
이 문제에 관하여(Lumen으로 여러 DB에 액세스하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/okenak/items/e1d59831a243d890e29e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
.
├── app
├── artisan
├── bootstrap
├── composer.json
├── composer.lock
├── config
│ └── database.php
├── database
├── phpunit.xml
├── public
├── readme.md
├── resources
├── routes
├── storage
├── tests
└── vendor
config/database.php
의 connections
그룹에 연결 목적지를 추가합니다.<?php
return [
'default' => 'db1',
'migrations' => 'migrations',
'connections' => [
'db1' => [
'driver' => env('DB_CONNECTION'),
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
'db2' => [
'driver' => env('DB2_CONNECTION'),
'host' => env('DB2_HOST'),
'port' => env('DB2_PORT'),
'database' => env('DB2_DATABASE'),
'username' => env('DB2_USERNAME'),
'password' => env('DB2_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
],
];
default
명시적으로 지정되지 않은 DB의 방향migrations
설정하지 않으면 artisan migrate에서 오류가 발생합니다..env 파일 수정 .env
파일에 연결 대상 정보를 기록하는 상수를 추가합니다.DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db1
DB_USERNAME=
DB_PASSWORD=
DB2_CONNECTION=mysql
DB2_HOST=127.0.0.1
DB2_PORT=3306
DB2_DATABASE=db2
DB2_USERNAME=
DB2_PASSWORD=
※ 상기 접속 정보는 적절하니 환경에 맞게 설정
이용 방법
기본적으로 config/database.php
의 default
에 지정된 목적지에 연결된 DB
다른 DB에 액세스하려면 명시적으로 지정해야 합니다.
Eloquent 옆에 연결 정보를 기록하는 방법
<?php
class Hoge extends Model {
protected $connection = 'db2';
}
실행 시 연결 정보 정의 방법
<?php
class ExampleController extends Controller {
public function fooMethod()
{
$foo = new Foo;
$foo->setConnection('db2');
$data = $foo->find(1);
return $data;
}
}
조회 구축기에서 지정한 방법
$users = DB::connection('db2')->select(...);
결론
Laavel과 기본적으로 동일
Reference
이 문제에 관하여(Lumen으로 여러 DB에 액세스하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/okenak/items/e1d59831a243d890e29e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db1
DB_USERNAME=
DB_PASSWORD=
DB2_CONNECTION=mysql
DB2_HOST=127.0.0.1
DB2_PORT=3306
DB2_DATABASE=db2
DB2_USERNAME=
DB2_PASSWORD=
기본적으로
config/database.php
의 default
에 지정된 목적지에 연결된 DB다른 DB에 액세스하려면 명시적으로 지정해야 합니다.
Eloquent 옆에 연결 정보를 기록하는 방법
<?php
class Hoge extends Model {
protected $connection = 'db2';
}
실행 시 연결 정보 정의 방법
<?php
class ExampleController extends Controller {
public function fooMethod()
{
$foo = new Foo;
$foo->setConnection('db2');
$data = $foo->find(1);
return $data;
}
}
조회 구축기에서 지정한 방법
$users = DB::connection('db2')->select(...);
결론
Laavel과 기본적으로 동일
Reference
이 문제에 관하여(Lumen으로 여러 DB에 액세스하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/okenak/items/e1d59831a243d890e29e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Lumen으로 여러 DB에 액세스하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/okenak/items/e1d59831a243d890e29e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)