Артыкулы

Як наладзіць 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',
        ],

Як падключыцца да БД

Пасля defiКалі ў вас ёсць падключэнні да базы дадзеных, вы можаце выкарыстоўваць іх у сваім кодзе Laravel. Для гэтага вы можаце выкарыстоўваць facade базы даных. там facade база дадзеных забяспечвае адзіны інтэрфейс для ўзаемадзеяння з базамі дадзеных.

Каб пераключацца паміж злучэннямі з базай дадзеных, вы можаце выкарыстоўваць метад Connection() з facade Базы дадзеных. Метад Connection() прымае імя злучэння з базай дадзеных у якасці аргументу.

Напрыклад, наступны код пераходзіць з базы дадзеных mysql у базу дадзеных pgsql:

Інавацыйны бюлетэнь
Не прапусціце самыя важныя навіны пра інавацыі. Падпішыцеся, каб атрымліваць іх па электроннай пошце.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Пасля пераключэння на злучэнне з базай дадзеных вы можаце выкарыстоўваць яго для запытаў і ўзаемадзеяння з базай дадзеных.

Перавагі выкарыстання некалькіх баз даных у Laravel

Ёсць шмат пераваг выкарыстання некалькіх баз даных у Laravel, у тым ліку:

  • Палепшаная прадукцыйнасць: выкарыстанне некалькіх баз даных можа палепшыць прадукцыйнасць прыкладання за кошт падзелу даных розных тыпаў. Напрыклад, вы можаце захоўваць даныя карыстальніка ў адной базе дадзеных, а даныя аб прадуктах — у іншай.
  • Падвышаная бяспека: выкарыстанне некалькіх баз даных можа палепшыць бяспеку прыкладанняў шляхам падзелу даных розных тыпаў. Напрыклад, вы можаце захоўваць канфідэнцыяльныя даныя ў адной базе дадзеных, а менш канфідэнцыяльныя - у іншай.
  • Большая маштабаванасць: Выкарыстанне некалькіх баз даных можа зрабіць ваша прыкладанне больш маштабуемым, дазваляючы вам размяркоўваць свае даныя на некалькіх серверах.

Лепшыя практыкі выкарыстання некалькіх баз даных у Laravel

Вось некалькі лепшых практык выкарыстання некалькіх баз даных у Laravel:

  • Выкарыстоўвайце зручныя назвы для злучэнняў з базай дадзеных: гэта палегчыць ідэнтыфікацыю і кіраванне злучэннямі з базай дадзеных.
  • Выкарыстоўвайце метад Connection() ісці ад аднаго DB да іншага - гэта дапаможа пазбегнуць выпадковага запуску запыт на база дадзеных няправільна.
  • Выкарыстоўвайце сістэму міграцыі базы дадзеных для кіравання схемамі базы дадзеных - гэта дапаможа вам падтрымліваць сінхранізацыю схем базы дадзеных ва ўсіх вашых база дадзеных.

заключэнне

Выкарыстанне некалькіх баз дадзеных у Laravel можа быць выдатным спосабам палепшыць прадукцыйнасць, бяспеку і маштабаванасць вашага прыкладання. Прытрымліваючыся лепшых практык, апісаных у гэтым артыкуле, вы можаце эфектыўна выкарыстоўваць некалькі баз дадзеных у Laravel.

Падобныя чытанні

Ercole Palmeri

Інавацыйны бюлетэнь
Не прапусціце самыя важныя навіны пра інавацыі. Падпішыцеся, каб атрымліваць іх па электроннай пошце.

Апошнія артыкулы

Інтэрнэт-плацяжы: вось як паслугі струменевай перадачы прымушаюць вас плаціць вечна

Мільёны людзей плацяць за струменевыя паслугі, плацячы штомесячную абаненцкую плату. Распаўсюджана меркаванне, што вы…

Красавік 29 2024

Veeam прапануе самую поўную падтрымку праграм-вымагальнікаў - ад абароны да адказу і аднаўлення

Coveware ад Veeam працягне прадастаўляць паслугі рэагавання на інцыдэнты кібервымагальніцтва. Coveware будзе прапаноўваць судова-медыцынскую экспертызу і магчымасці выпраўлення…

Красавік 23 2024

Зялёная і лічбавая рэвалюцыя: як прагнознае тэхнічнае абслугоўванне трансфармуе нафтагазавую прамысловасць

Прагнастычнае тэхнічнае абслугоўванне рэвалюцыянізуе нафтагазавы сектар з інавацыйным і актыўным падыходам да кіравання заводам.…

Красавік 22 2024

Антыманапольны рэгулятар Вялікабрытаніі падымае трывогу BigTech з нагоды GenAI

CMA Вялікабрытаніі выпусціла папярэджанне аб паводзінах Big Tech на рынку штучнага інтэлекту. Там…

Красавік 18 2024

Чытайце Innovation на сваёй мове

Інавацыйны бюлетэнь
Не прапусціце самыя важныя навіны пра інавацыі. Падпішыцеся, каб атрымліваць іх па электроннай пошце.

Выконвайце за намі