Članci

Kako konfigurirati Laravel za korištenje više baza podataka u vašem projektu

Projekt razvoja softvera obično uključuje korištenje baze podataka za pohranu podataka na strukturiran način.

Za specifične projekte može biti potrebno koristiti više baza podataka.

S Laravelom, da bismo koristili više baza podataka, moramo konfigurirati okvir, a posebno konfiguracijsku datoteku veza.

Pogledajmo kako konfigurirati Laravel za korištenje više baza podataka.

Procijenjeno vrijeme čitanja: 4 minuti

file database.php in config imenik

Ova se datoteka nalazi u imeniku config vaše Laravel aplikacije.

U dosjeu database.php je moguće defiuništiti višestruke veze s bazom podataka. Svaka veza mora biti definaveden kao niz. Niz treba sadržavati sljedeće informacije:

  • driver: upravljački program baze podataka za korištenje;
  • host: Ime host ili adresu IP poslužitelja baze podataka;
  • port: broj porta poslužitelja baze podataka;
  • database: naziv baze podataka;
  • username: korisničko ime za spajanje na bazu podataka;
  • password: lozinka za spajanje na bazu podataka;

Na primjer, sljedeći kod defiPostoje dvije veze s bazom podataka, jedna za MySQL i jedna za 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',
        ],

Kako se spojiti na DB

Nakon defiNakon što uspostavite veze s bazom podataka, možete ih koristiti u svom kodu Laravel. Da biste to učinili, možete koristiti facade baze podataka. Tamo facade baza podataka pruža jedinstveno sučelje za interakciju s bazama podataka.

Za prebacivanje između veza baze podataka možete koristiti metodu Connection() od facade Baze podataka. Metoda Connection() uzima ime veze baze podataka kao argument.

Na primjer, sljedeći kod ide iz baze podataka mysql u bazu podataka pgsql:

Innovation newsletter
Ne propustite najvažnije vijesti o inovacijama. Prijavite se da ih primate e-poštom.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Nakon što se prebacite na vezu s bazom podataka, možete je koristiti za postavljanje upita i interakciju s bazom podataka.

Prednosti korištenja više baza podataka u Laravelu

Brojne su prednosti korištenja više baza podataka u Laravelu, uključujući:

  • Bolja izvedba: Korištenje više baza podataka može poboljšati izvedbu aplikacije odvajanjem podataka različitih vrsta. Na primjer, možete pohraniti korisničke podatke u jednu bazu podataka, a podatke o proizvodu u drugu bazu podataka.
  • Poboljšana sigurnost: Korištenje više baza podataka može poboljšati sigurnost aplikacije odvajanjem podataka različitih vrsta. Na primjer, možete pohraniti osjetljive podatke u jednu bazu podataka, a manje osjetljive podatke u drugu bazu podataka.
  • Veća skalabilnost: Korištenje više baza podataka može vašu aplikaciju učiniti skalabilnijom tako što vam omogućuje distribuciju podataka na više poslužitelja.

Najbolje prakse za korištenje više baza podataka u Laravelu

Evo nekoliko najboljih praksi za korištenje više baza podataka u Laravelu:

  • Koristite prijateljska imena za veze s bazom podataka: ovo će olakšati prepoznavanje i upravljanje vezama s bazom podataka.
  • Koristite metodu Connection() ići od jednog DB na drugu - to će vam pomoći da izbjegnete slučajno trčanje pitanje na baza podataka pogrešno.
  • Upotrijebite sustav za migraciju baze podataka za upravljanje svojim shemama baze podataka – to će vam pomoći da sheme vaše baze podataka budu sinkronizirane u svim vašim baza podataka.

zaključak

Korištenje više baza podataka u Laravelu može biti izvrstan način za poboljšanje performansi, sigurnosti i skalabilnosti vaše aplikacije. Slijedeći najbolje prakse opisane u ovom članku, možete učinkovito koristiti više baza podataka u Laravelu.

Povezana literatura

Ercole Palmeri

Innovation newsletter
Ne propustite najvažnije vijesti o inovacijama. Prijavite se da ih primate e-poštom.

Nedavni članci

Online plaćanja: Evo kako vas usluge strujanja tjeraju da plaćate zauvijek

Milijuni ljudi plaćaju usluge strujanja, plaćajući mjesečne pretplate. Uvriježeno je mišljenje da ste…

Travnja 29 2024

Veeam nudi najopsežniju podršku za ransomware, od zaštite do odgovora i oporavka

Coveware by Veeam nastavit će pružati usluge odgovora na incidente cyber iznude. Coveware će ponuditi forenziku i mogućnosti sanacije...

Travnja 23 2024

Zelena i digitalna revolucija: Kako prediktivno održavanje transformira industriju nafte i plina

Prediktivno održavanje revolucionira sektor nafte i plina, s inovativnim i proaktivnim pristupom upravljanju postrojenjima.…

Travnja 22 2024

Britansko antimonopolsko tijelo podiglo je BigTech alarm zbog GenAI-ja

UK CMA izdao je upozorenje o ponašanju Big Tech-a na tržištu umjetne inteligencije. Tamo…

Travnja 18 2024