Eeldatav lugemisaeg: 4 minutit
database.php
in config
kataloogSee fail asub kataloogis config
teie Laraveli rakendusest.
Failis database.php
on võimalik defiluua mitu andmebaasiühendust. Iga ühendus peab olema definited massiivina. Massiiv peaks sisaldama järgmist teavet:
driver
: kasutatav andmebaasi draiver;host
: nimi host
või aadress IP
andmebaasiserver;port
: andmebaasiserveri pordi number;database
: andmebaasi nimi;username
: kasutajanimi andmebaasiga ühenduse loomiseks;password
: parool andmebaasiga ühenduse loomiseks;Näiteks järgmine kood defiAndmebaasiühendusi on kaks, üks MySQL-i ja teine PostgreSQL-i jaoks:
'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',
],
Pärast defiKui teil on andmebaasiühendused, saate neid oma koodis kasutada Laravel
. Selleks saate kasutada facade
andmebaasist. Seal facade
andmebaas pakub ühtset liidest andmebaasidega suhtlemiseks.
Andmebaasiühenduste vahel vahetamiseks võite kasutada meetodit Connection()
kohta facade
Andmebaasid. Meetod Connection()
võtab argumendina andmebaasiühenduse nime.
Näiteks järgmine kood läheb mysql DB-st pgsql DB-sse:
use Illuminate\Support\Facades\DB;
DB::connection('pgsql');
Kui olete lülitunud andmebaasiühendusele, saate seda kasutada andmebaasi päringute tegemiseks ja sellega suhtlemiseks.
Mitme andmebaasi kasutamisel Laravelis on palju eeliseid, sealhulgas:
Siin on mõned parimad tavad mitme andmebaasi kasutamiseks Laravelis:
Connection()
ühest minema DB teisele – see aitab vältida kogemata jooksmist päringu edasi andmebaas vale.Mitme andmebaasi kasutamine Laravelis võib olla suurepärane viis rakenduse jõudluse, turvalisuse ja mastaapsuse parandamiseks. Järgides selles artiklis kirjeldatud parimaid tavasid, saate Laravelis tõhusalt kasutada mitut andmebaasi.
Ercole Palmeri
Peenmotoorika arendamine värvimise kaudu valmistab lapsi ette keerukamate oskuste, nagu kirjutamise, jaoks. Värvimiseks…
Meresõidusektor on tõeline ülemaailmne majanduslik jõud, mis on liikunud 150 miljardi suuruse turu poole...
Eelmisel esmaspäeval teatas Financial Times tehingust OpenAI-ga. FT litsentsib oma maailmatasemel ajakirjandust…
Miljonid inimesed maksavad voogedastusteenuste eest, makstes igakuist liitumistasu. Levinud on arvamus, et sa…