품목

프로젝트에서 여러 데이터베이스를 사용하도록 Laravel을 구성하는 방법

일반적으로 소프트웨어 개발 프로젝트에는 구조화된 방식으로 데이터를 저장하기 위해 데이터베이스를 사용하는 작업이 포함됩니다.

특정 프로젝트의 경우 여러 데이터베이스를 사용해야 할 수도 있습니다.

Laravel을 사용하여 여러 데이터베이스를 사용하려면 프레임워크, 특히 연결 구성 파일을 구성해야 합니다.

여러 데이터베이스를 사용하도록 Laravel을 구성하는 방법을 살펴보겠습니다.

예상 독서 시간: 4 세부 사항

입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 database.php in config 예배 규칙서

이 파일은 디렉토리에 있습니다 config Laravel 애플리케이션의

파일에서 database.php 가능하다. defi여러 데이터베이스 연결을 완료합니다. 모든 연결은 다음과 같아야 합니다. defi배열로 나열됩니다. 배열에는 다음 정보가 포함되어야 합니다.

  • driver: 사용할 데이터베이스 드라이버;
  • host: 이름 host 아니면 주소 IP 데이터베이스 서버의
  • port: 데이터베이스 서버 포트 번호;
  • database: 데이터베이스 이름;
  • username: 데이터베이스에 연결하기 위한 사용자 이름입니다.
  • password: 데이터베이스에 연결하기 위한 비밀번호입니다.

예를 들어, 다음 코드는 defi두 개의 데이터베이스 연결이 있습니다. 하나는 MySQL용이고 다른 하나는 PostgreSQL용입니다.

'connections' => [
        'sqlite' => [
            'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],

        'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            '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', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
    PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],

        'pgsql' => [
            'driver' => 'pgsql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],

DB에 접속하는 방법

데 후 defi데이터베이스 연결이 있으면 코드에서 사용할 수 있습니다. Laravel. 이렇게 하려면 다음을 사용할 수 있습니다. facade 데이터베이스의. 거기 facade 데이터베이스는 데이터베이스와 상호 작용하기 위한 통합 인터페이스를 제공합니다.

데이터베이스 연결 간을 전환하려면 다음 메소드를 사용할 수 있습니다. Connection()facade 데이터베이스. 방법 Connection() 데이터베이스 연결 이름을 인수로 사용합니다.

예를 들어 다음 코드는 mysql DB에서 pgsql DB로 이동합니다.

혁신 뉴스레터
혁신에 관한 가장 중요한 뉴스를 놓치지 마세요. 이메일로 받으려면 가입하세요.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

데이터베이스 연결로 전환하면 이를 사용하여 데이터베이스를 쿼리하고 상호 작용할 수 있습니다.

Laravel에서 여러 데이터베이스를 사용할 때의 이점

Laravel에서 여러 데이터베이스를 사용하면 다음과 같은 많은 이점이 있습니다.

  • 성능 향상: 여러 데이터베이스를 사용하면 다양한 유형의 데이터를 분리하여 애플리케이션 성능을 향상시킬 수 있습니다. 예를 들어 사용자 데이터를 한 데이터베이스에 저장하고 제품 데이터를 다른 데이터베이스에 저장할 수 있습니다.
  • 보안 강화: 여러 데이터베이스를 사용하면 다양한 유형의 데이터를 분리하여 애플리케이션 보안을 향상할 수 있습니다. 예를 들어 중요한 데이터는 한 데이터베이스에 저장하고 덜 민감한 데이터는 다른 데이터베이스에 저장할 수 있습니다.
  • 확장성 향상: 여러 데이터베이스를 사용하면 여러 서버에 데이터를 배포할 수 있으므로 애플리케이션의 확장성이 높아질 수 있습니다.

Laravel에서 여러 데이터베이스를 사용하는 모범 사례

Laravel에서 여러 데이터베이스를 사용하기 위한 몇 가지 모범 사례는 다음과 같습니다.

  • 데이터베이스 연결에 알기 쉬운 이름 사용: 이렇게 하면 데이터베이스 연결을 더 쉽게 식별하고 관리할 수 있습니다.
  • 방법을 사용 Connection() 하나에서 가다 DB 다른 사람에게 - 실수로 실행되는 것을 방지하는 데 도움이 됩니다. 질문 데이터베이스 잘못된.
  • 데이터베이스 마이그레이션 시스템을 사용하여 데이터베이스 스키마를 관리하세요. 이는 모든 데이터베이스에서 데이터베이스 스키마를 동기화 상태로 유지하는 데 도움이 됩니다. 데이터베이스.

결론

Laravel에서 여러 데이터베이스를 사용하는 것은 애플리케이션의 성능, 보안 및 확장성을 향상시키는 좋은 방법이 될 수 있습니다. 이 문서에 설명된 모범 사례를 따르면 Laravel에서 여러 데이터베이스를 효과적으로 사용할 수 있습니다.

관련 자료

Ercole Palmeri

혁신 뉴스레터
혁신에 관한 가장 중요한 뉴스를 놓치지 마세요. 이메일로 받으려면 가입하세요.

최근 기사

출판사와 OpenAI, 인공지능이 처리하는 정보의 흐름을 규제하기 위한 계약 체결

지난 월요일, Financial Times는 OpenAI와의 계약을 발표했습니다. FT는 세계적 수준의 저널리즘에 라이선스를 부여합니다…

4월 30 2024

온라인 결제: 스트리밍 서비스를 통해 영원히 결제하는 방법은 다음과 같습니다.

수백만 명의 사람들이 스트리밍 서비스 비용을 지불하고 월간 구독료를 지불합니다. 당신은…

4월 29 2024

Veeam은 보호부터 대응, 복구까지 랜섬웨어에 대한 가장 포괄적인 지원을 제공합니다.

Coveware by Veeam은 계속해서 사이버 강탈 사건 대응 서비스를 제공할 것입니다. Coveware는 법의학 및 교정 기능을 제공할 것입니다…

4월 23 2024

녹색 및 디지털 혁명: 예측 유지보수가 석유 및 가스 산업을 변화시키는 방법

예측 유지보수는 플랜트 관리에 대한 혁신적이고 적극적인 접근 방식을 통해 석유 및 가스 부문에 혁명을 일으키고 있습니다.…

4월 22 2024