laravel kontroler

Obično projekt razvoja softvera uključuje korištenje baze podataka za pohranjivanje podataka na strukturiran način.

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

Sa Laravel-om, da bismo koristili više baza podataka, moramo konfigurirati okvir, a posebno konfiguracijsku datoteku veza.

Vediamo ora la configurazione laravel per connessioni a più DataBase.

4 minute

La configurazione laravel di base, prevede la connessione a un database di default, ma in questo articolo possiamo vedere come configurare connessioni multiple a database. Eloquent continua a funzionare sempre

fajl database.php in config imenik

Ova datoteka se nalazi u direktoriju config della tua applicazione Laravel.

U fajlu database.php è possibile definire più connessioni a un DB. Ogni connessione deve essere definita come un array. L’array dovrebbe contenere le seguenti informazioni:

  • driver: drajver baze podataka koji treba koristiti;
  • host: ime host ili adresu IP servera baze podataka;
  • port: broj porta servera baze podataka;
  • database: ime baze podataka;
  • username: korisničko ime za povezivanje na bazu podataka;
  • password: lozinka za povezivanje na bazu podataka;

Ad esempio, il codice seguente definisce due connessioni al DB, una per MySQL e una per 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 povezati na DB

Dopo aver definito le connessioni al database, puoi utilizzarle nel tuo codice Laravel, takođe sa Elokventan. Da biste to učinili, možete koristiti facade baze podataka. Tamo facade baza podataka pruža objedinjeni interfejs za interakciju sa bazama podataka.

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

Ad esempio, il codice seguente passa dal DB mysql al DB pgsql:

use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

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

Vantaggi dell’utilizzo di più database connessioni in Laravel

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

  • Migliori prestazioni: l’utilizzo di più database può migliorare le prestazioni dell’applicazione separando dati di tipo diverso. Ad esempio, potresti archiviare i dati utente in un database e i dati di prodotto in un altro database.
  • Veća sigurnost: l’utilizzo di più database può migliorare la sicurezza dell’applicazione separando dati di tipo diverso. Ad esempio, potresti archiviare dati sensibili in un database e dati meno sensibili in un altro database.
  • Maggiore scalabilità: l’utilizzo di più database può rendere la tua applicazione più scalabile consentendoti di distribuire i tuoi dati su più server.
configurazione laravel

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

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

  • Uses nomi descrittivi per le connessioni al database: ciò renderà più semplice identificare e gestire le connessioni al database.
  • Koristite metodu Connection() ići od jednog DB drugome - to će vam pomoći da izbjegnete slučajno trčanje upit sul baza podataka pogrešno.
  • Koristite sistem za migraciju baze podataka da upravljate svojim šemama baze podataka – to će vam pomoći da održite svoje šeme baze podataka sinhronizovanim u svim vašim baza podataka.

zaključak

Upotreba više baza podataka u Laravelu može biti odličan način za poboljšanje performansi, sigurnosti i skalabilnosti vaše aplikacije. Prateći najbolje prakse opisane u ovom članku, možete efikasno koristiti više baza podataka u Laravelu.

autor