Հոդվածներ

Ինչպես կարգավորել Laravel-ը, որպեսզի օգտագործի բազմաթիվ տվյալների բազաներ ձեր Նախագծում

Սովորաբար ծրագրային ապահովման մշակման նախագիծը ներառում է տվյալների բազայի օգտագործումը տվյալների կառուցվածքային ձևով պահելու համար:

Հատուկ նախագծերի համար կարող է անհրաժեշտ լինել օգտագործել բազմաթիվ տվյալների բազաներ:

Laravel-ի միջոցով մի քանի տվյալների բազաներ օգտագործելու համար մենք պետք է կարգավորենք շրջանակը և մասնավորապես կապերի կազմաձևման ֆայլը:

Տեսնենք, թե ինչպես կարելի է կարգավորել Laravel-ը բազմաթիվ տվյալների բազաներ օգտագործելու համար:

Ընթերցանության գնահատված ժամանակը. 4 արձանագրություն

Ֆայլ database.php in config տեղեկատու

Այս ֆայլը գտնվում է գրացուցակում config ձեր Laravel հավելվածից:

Ֆայլում database.php հնարավոր է definish տվյալների բազայի մի քանի միացումներ: Յուրաքանչյուր կապ պետք է լինի 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

Նորարարության տեղեկագիր
Բաց մի թողեք նորարարության մասին ամենակարևոր նորությունները: Գրանցվեք դրանք էլփոստով ստանալու համար:

Վերջին հոդվածները

Առցանց վճարումներ. ահա թե ինչպես են հոսքային ծառայությունները ստիպում ձեզ հավերժ վճարել

Միլիոնավոր մարդիկ վճարում են հոսքային ծառայությունների համար՝ վճարելով ամսական բաժանորդային վճարներ։ Տարածված կարծիք կա, որ դուք…

29 Ապրիլ 2024

Veeam-ն ունի ամենաընդգրկուն աջակցություն փրկագինին՝ պաշտպանությունից մինչև պատասխան և վերականգնում

Veeam-ի Coveware-ը կշարունակի տրամադրել կիբեր շորթման միջադեպերի արձագանքման ծառայություններ: Coveware-ը կառաջարկի դատաբժշկական և վերականգնման հնարավորություններ…

23 Ապրիլ 2024

Կանաչ և թվային հեղափոխություն. Ինչպես է կանխատեսելի սպասարկումը փոխակերպում նավթի և գազի արդյունաբերությունը

Կանխատեսելի սպասարկումը հեղափոխություն է անում նավթի և գազի ոլորտում՝ կայանի կառավարման նորարարական և ակտիվ մոտեցմամբ:…

22 Ապրիլ 2024

Մեծ Բրիտանիայի հակամենաշնորհային կարգավորիչը բարձրացնում է BigTech-ի ահազանգը GenAI-ի վերաբերյալ

Մեծ Բրիտանիայի CMA-ն նախազգուշացում է տարածել արհեստական ​​ինտելեկտի շուկայում Big Tech-ի վարքագծի վերաբերյալ: Այնտեղ…

18 Ապրիլ 2024

Կարդացեք նորարարությունը ձեր լեզվով

Նորարարության տեղեկագիր
Բաց մի թողեք նորարարության մասին ամենակարևոր նորությունները: Գրանցվեք դրանք էլփոստով ստանալու համար:

Հետեւեք մեզ