raksti

Kā konfigurēt Laravel, lai jūsu projektā izmantotu vairākas datu bāzes

Parasti programmatūras izstrādes projekts ietver datu bāzes izmantošanu datu strukturētai glabāšanai.

Konkrētiem projektiem var būt nepieciešams izmantot vairākas datu bāzes.

Izmantojot Laravel, lai izmantotu vairākas datu bāzes, mums ir jākonfigurē ietvars un jo īpaši savienojumu konfigurācijas fails.

Apskatīsim, kā konfigurēt Laravel, lai izmantotu vairākas datu bāzes.

Paredzamais lasīšanas laiks: 4 minūti

fileja database.php in config katalogs

Šis fails atrodas direktorijā config jūsu Laravel lietojumprogrammā.

Failā database.php ir iespējams defiizveidot vairākus datu bāzes savienojumus. Katram savienojumam jābūt definited kā masīvs. Masīvā jāiekļauj šāda informācija:

  • driver: izmantojamais datu bāzes draiveris;
  • host: vārds host vai adrese IP datu bāzes serveri;
  • port: datu bāzes servera porta numurs;
  • database: datu bāzes nosaukums;
  • username: lietotājvārds savienojumam ar datu bāzi;
  • password: parole savienojumam ar datu bāzi;

Piemēram, šāds kods defiIr divi datu bāzes savienojumi, viens MySQL un otrs 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',
        ],

Kā izveidot savienojumu ar DB

Pēc defiKad ir izveidoti datu bāzes savienojumi, varat tos izmantot savā kodā Laravel. Lai to izdarītu, varat izmantot facade no datu bāzes. Tur facade datu bāze nodrošina vienotu saskarni mijiedarbībai ar datu bāzēm.

Lai pārslēgtos starp datu bāzes savienojumiem, varat izmantot šo metodi Connection() no facade Datu bāzes. Metode Connection() izmanto datu bāzes savienojuma nosaukumu kā argumentu.

Piemēram, šāds kods pāriet no mysql DB uz pgsql DB:

Inovāciju biļetens
Nepalaidiet garām svarīgākās ziņas par jauninājumiem. Reģistrējieties, lai tos saņemtu pa e-pastu.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Kad esat pārslēdzies uz datu bāzes savienojumu, varat to izmantot, lai veiktu vaicājumus un mijiedarbotos ar datu bāzi.

Vairāku datu bāzu izmantošanas priekšrocības programmā Laravel

Vairāku datu bāzu izmantošanai Laravel ir daudz priekšrocību, tostarp:

  • Labāka veiktspēja: vairāku datu bāzu izmantošana var uzlabot lietojumprogrammu veiktspēju, atdalot dažāda veida datus. Piemēram, varat saglabāt lietotāja datus vienā datu bāzē un produktu datus citā datu bāzē.
  • Paaugstināta drošība: vairāku datu bāzu izmantošana var uzlabot lietojumprogrammu drošību, atdalot dažāda veida datus. Piemēram, varat glabāt sensitīvus datus vienā datu bāzē un mazāk sensitīvus datus citā datu bāzē.
  • Lielāka mērogojamība: vairāku datu bāzu izmantošana var padarīt lietojumprogrammu mērogojamāku, ļaujot izplatīt datus vairākos serveros.

Labākā prakse vairāku datu bāzu izmantošanai programmā Laravel

Šeit ir daži paraugprakses piemēri vairāku datu bāzu lietošanai programmā Laravel:

  • Izmantojiet draudzīgus nosaukumus datu bāzes savienojumiem: tas atvieglos datu bāzes savienojumu identificēšanu un pārvaldību.
  • Izmantojiet metodi Connection() iet no viena DB uz citu – tas palīdzēs izvairīties no nejaušas skriešanas jautājums sul datubāze nepareizi.
  • Izmantojiet datu bāzes migrācijas sistēmu, lai pārvaldītu savas datu bāzes shēmas — tas palīdzēs sinhronizēt datu bāzes shēmas visās datubāze.

secinājums

Vairāku datu bāzu izmantošana programmā Laravel var būt lielisks veids, kā uzlabot lietojumprogrammas veiktspēju, drošību un mērogojamību. Ievērojot šajā rakstā aprakstītās paraugprakses, varat efektīvi izmantot vairākas Laravel datu bāzes.

Saistītie lasījumi

Ercole Palmeri

Inovāciju biļetens
Nepalaidiet garām svarīgākās ziņas par jauninājumiem. Reģistrējieties, lai tos saņemtu pa e-pastu.

Jaunākie Raksti

Izdevēji un OpenAI paraksta līgumus, lai regulētu mākslīgā intelekta apstrādātās informācijas plūsmu

Pagājušajā pirmdienā Financial Times paziņoja par darījumu ar OpenAI. FT licencē savu pasaules līmeņa žurnālistiku…

30 aprīlis 2024

Tiešsaistes maksājumi. Lūk, kā straumēšanas pakalpojumi liek jums maksāt uz visiem laikiem

Miljoniem cilvēku maksā par straumēšanas pakalpojumiem, maksājot ikmēneša abonēšanas maksu. Ir izplatīts uzskats, ka jūs…

29 aprīlis 2024

Veeam piedāvā visplašāko atbalstu izspiedējvīrusu programmatūrai, sākot no aizsardzības līdz atbildei un atkopšanai

Veeam Coveware turpinās nodrošināt reaģēšanas pakalpojumus uz kiberizspiešanas incidentiem. Coveware piedāvās kriminālistikas un sanācijas iespējas…

23 aprīlis 2024

Zaļā un digitālā revolūcija: kā paredzamā apkope pārveido naftas un gāzes nozari

Prognozējošā apkope rada revolūciju naftas un gāzes nozarē, izmantojot novatorisku un proaktīvu pieeju rūpnīcu pārvaldībai.…

22 aprīlis 2024