Членове

Как да конфигурирате Laravel да използва множество бази данни във вашия проект

Обикновено проектът за разработка на софтуер включва използването на база данни за съхраняване на данни по структуриран начин.

За конкретни проекти може да се наложи използването на множество бази данни.

С Laravel, за да използваме множество бази данни, трябва да конфигурираме рамката и по-специално конфигурационния файл на връзките.

Нека да видим как да конфигурираме Laravel да използва множество бази данни.

Очаквано време за четене: 4 Minuti

досие database.php in config указател

Този файл се намира в директорията config на вашето приложение Laravel.

Във файла database.php е възможно defiунищожи множество връзки към бази данни. Всяка връзка трябва да бъде definited като масив. Масивът трябва да съдържа следната информация:

  • 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

Иновационен бюлетин
Не пропускайте най-важните новини за иновациите. Регистрирайте се, за да ги получавате по имейл.

Последни статии

Онлайн плащания: Ето как услугите за поточно предаване ви карат да плащате завинаги

Милиони хора плащат за стрийминг услуги, като плащат месечни абонаментни такси. Разпространено е мнението, че вие…

29 април 2024

Veeam разполага с най-цялостната поддръжка за ransomware, от защита до отговор и възстановяване

Coveware от Veeam ще продължи да предоставя услуги за реакция при инциденти с кибер изнудване. Coveware ще предлага криминалистика и възможности за възстановяване...

23 април 2024

Зелена и цифрова революция: как предсказуемата поддръжка трансформира петролната и газовата индустрия

Прогнозната поддръжка революционизира сектора на петрола и газа с иновативен и проактивен подход към управлението на инсталациите.…

22 април 2024

Британският антитръстов регулатор повдига тревога на BigTech за GenAI

CMA на Обединеното кралство издаде предупреждение относно поведението на Big Tech на пазара на изкуствен интелект. Там…

18 април 2024

Прочетете Иновация на вашия език

Иновационен бюлетин
Не пропускайте най-важните новини за иновациите. Регистрирайте се, за да ги получавате по имейл.

Следвайте ни