towary

Jak skonfigurować Laravel do korzystania z wielu baz danych w projekcie

Zwykle projekt rozwoju oprogramowania wiąże się z wykorzystaniem bazy danych do przechowywania danych w ustrukturyzowany sposób.

W przypadku konkretnych projektów może zaistnieć konieczność wykorzystania wielu baz danych.

Aby móc korzystać z wielu baz danych w Laravel, musimy skonfigurować framework, a w szczególności plik konfiguracyjny połączeń.

Zobaczmy, jak skonfigurować Laravel do korzystania z wielu baz danych.

Szacowany czas czytania: 4 minuti

filet database.php in config katalog

Plik ten znajduje się w katalogu config Twojej aplikacji Laravel.

W pliku database.php è possibile defizakończ wiele połączeń z bazą danych. Każde połączenie musi być definitowane jako tablica. Tablica powinna zawierać następujące informacje:

  • driver: sterownik bazy danych, którego należy używać;
  • host: imię host lub adres IP serwera bazy danych;
  • port: numer portu serwera bazy danych;
  • database: nazwa bazy danych;
  • username: nazwa użytkownika umożliwiająca połączenie z bazą danych;
  • password: hasło do połączenia z bazą danych;

Na przykład poniższy kod defiIstnieją dwa połączenia z bazą danych, jedno dla MySQL i jedno dla 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',
        ],

Jak połączyć się z bazą danych

Później defiGdy już będziesz mieć połączenia z bazą danych, możesz ich użyć w swoim kodzie Laravel. Aby to zrobić, możesz użyć facade bazy danych. Tam facade baza danych zapewnia ujednolicony interfejs do interakcji z bazami danych.

Aby przełączać się między połączeniami z bazą danych, możesz skorzystać z metody Connection() z facade Bazy danych. Metoda Connection() przyjmuje jako argument nazwę połączenia z bazą danych.

Na przykład następujący kod przechodzi z bazy danych mysql do bazy danych pgsql:

Biuletyn innowacji
Nie przegap najważniejszych wiadomości dotyczących innowacji. Zarejestruj się, aby otrzymywać je e-mailem.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Po przełączeniu na połączenie z bazą danych można go używać do wykonywania zapytań i interakcji z bazą danych.

Korzyści z używania wielu baz danych w Laravel

Korzystanie z wielu baz danych w Laravel ma wiele zalet, w tym:

  • Lepsza wydajność: Korzystanie z wielu baz danych może poprawić wydajność aplikacji poprzez oddzielenie danych różnych typów. Na przykład możesz przechowywać dane użytkownika w jednej bazie danych, a dane produktu w innej bazie danych.
  • Zwiększone bezpieczeństwo: Korzystanie z wielu baz danych może poprawić bezpieczeństwo aplikacji poprzez oddzielenie danych różnych typów. Na przykład możesz przechowywać poufne dane w jednej bazie danych, a mniej wrażliwe dane w innej bazie danych.
  • Większa skalowalność: Korzystanie z wielu baz danych może zwiększyć skalowalność aplikacji, umożliwiając dystrybucję danych na wielu serwerach.

Najlepsze praktyki korzystania z wielu baz danych w Laravel

Oto kilka najlepszych praktyk dotyczących korzystania z wielu baz danych w Laravel:

  • Używaj przyjaznych nazw dla połączeń z bazami danych: Ułatwi to identyfikowanie połączeń z bazami danych i zarządzanie nimi.
  • Skorzystaj z metody Connection() przejść od jednego DB na inny - pomoże to uniknąć przypadkowego uruchomienia pytanie na baza danych zło.
  • Użyj systemu migracji baz danych do zarządzania schematami baz danych – pomoże to zachować synchronizację schematów baz danych we wszystkich baza danych.

wniosek

Korzystanie z wielu baz danych w Laravel może być świetnym sposobem na poprawę wydajności, bezpieczeństwa i skalowalności aplikacji. Stosując się do najlepszych praktyk opisanych w tym artykule, możesz efektywnie korzystać z wielu baz danych w Laravel.

Powiązane lektury

Ercole Palmeri

Biuletyn innowacji
Nie przegap najważniejszych wiadomości dotyczących innowacji. Zarejestruj się, aby otrzymywać je e-mailem.

Najnowsze artykuły

Wydawcy i OpenAI podpisują umowy regulujące przepływ informacji przetwarzanych przez Sztuczną Inteligencję

W ubiegły poniedziałek Financial Times ogłosił zawarcie umowy z OpenAI. FT udziela licencji na swoje światowej klasy dziennikarstwo…

Kwiecień 30 2024

Płatności online: oto jak usługi przesyłania strumieniowego sprawiają, że płacisz wiecznie

Miliony ludzi płacą za usługi przesyłania strumieniowego, płacąc miesięczne opłaty abonamentowe. Powszechnie panuje opinia, że…

Kwiecień 29 2024

Veeam oferuje najbardziej wszechstronną obsługę oprogramowania ransomware, od ochrony po reagowanie i odzyskiwanie

Coveware by Veeam będzie w dalszym ciągu świadczyć usługi reagowania na incydenty związane z wyłudzeniami cybernetycznymi. Coveware będzie oferować funkcje kryminalistyczne i naprawcze…

Kwiecień 23 2024

Rewolucja ekologiczna i cyfrowa: jak konserwacja predykcyjna zmienia przemysł naftowy i gazowy

Konserwacja predykcyjna rewolucjonizuje sektor naftowo-gazowy dzięki innowacyjnemu i proaktywnemu podejściu do zarządzania zakładami.…

Kwiecień 22 2024