Articoli

Come configurare Laravel per utilizzare più database nel tuo Progetto

Normalmente un progetto di sviluppo software prevede l’utilizzo di un DataBase per l’archiviazione dei dati in modo strutturato.

Per progetti specifici potrebbe essere necessario utilizzare più DataBase.

Con Laravel, per utilizzare più database, dobbiamo configurare il framework e in particolare il file di configurazione delle connessioni.

Vediamo come fare per configurare Laravel all’utilizzo di più DataBase.

Tempo di lettura stimato: 4 minuti

File database.php in config directory

Questo file si trova nella directory config della tua applicazione Laravel.

Nel file database.php è possibile definire più connessioni al database. Ogni connessione deve essere definita come un array. L’array dovrebbe contenere le seguenti informazioni:

  • driver: il driver del database da utilizzare;
  • host: il nome host o l’indirizzo IP del server del database;
  • port: il numero di porta del server del database;
  • database: il nome del database;
  • username: il nome utente per la connessione al database;
  • password: la password per la connessione al database;

Ad esempio, il codice seguente definisce due connessioni al database, 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',
        ],

Come connettersi al DB

Dopo aver definito le connessioni al database, puoi utilizzarle nel tuo codice Laravel. Per fare ciò, puoi utilizzare la facade del database. La facade del database fornisce un’interfaccia unificata per l’interazione con i database.

Per passare da una connessione al database all’altra, è possibile utilizzare il metodo Connection() della facade Database. Il metodo Connection() prende come argomento il nome della connessione al database.

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

Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Una volta passato a una connessione al database, è possibile utilizzarla per eseguire query e interagire con il database.

Vantaggi dell’utilizzo di più database in Laravel

Esistono numerosi vantaggi nell’utilizzo di più database in Laravel, tra cui:

  • 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.
  • Maggiore sicurezza: 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.

Best practice per l’utilizzo di più database in Laravel

Ecco alcune best practice per l’utilizzo di più database in Laravel:

  • Utilizza nomi descrittivi per le connessioni al database: ciò renderà più semplice identificare e gestire le connessioni al database.
  • Utilizza il metodo Connection() per passare da un DB a un altro: questo ti aiuterà a evitare di eseguire accidentalmente query sul database sbagliato.
  • Utilizza un sistema di migrazione del database per gestire gli schemi del database: questo ti aiuterà a mantenere sincronizzati gli schemi del database su tutti i tuoi database.

Conclusione

L’utilizzo di più database in Laravel può essere un ottimo modo per migliorare le prestazioni, la sicurezza e la scalabilità della tua applicazione. Seguendo le migliori pratiche descritte in questo articolo, puoi utilizzare più database in Laravel in modo efficace.

Letture Correlate

Ercole Palmeri

Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.

Articoli recenti

Apprendimento automatico: confronto tra Random Forest e albero decisionale

Nel mondo del machine learning, sia gli algoritmi random forest che decision tree svolgono un ruolo fondamentale nella categorizzazione e…

17 Maggio 2024

Come migliorare le presentazioni Power Point, consigli utili

Esistono molti suggerimenti e trucchi per fare ottime presentazioni. L'obiettivo di queste regola è di migliorare l'efficacia, la scorrevolezza di…

16 Maggio 2024

È ancora la velocità la leva nello sviluppo dei prodotti, secondo il report di Protolabs

Pubblicato il rapporto "Protolabs Product Development Outlook". Esamina le modalità in cui oggi vengono portati i nuovi prodotti sul mercato.…

16 Maggio 2024

I quattro pilastri della Sostenibilità

Il termine sostenibilità è oramai molto usato per indicare programmi, iniziative e azioni finalizzate alla preservazione di una particolare risorsa.…

15 Maggio 2024

Come consolidare i dati in Excel

Una qualsiasi operazione aziendale produce moltissimi dati, anche in forme diverse. Inserire manualmente questi dati da un foglio Excel a…

14 Maggio 2024

Analisi trimestrale Cisco Talos: mail aziendali nel mirino dei criminali Manifatturiero, Istruzione e Sanità i settori più colpiti

La compromissione delle mail aziendali sono aumentate nei primi tre mesi del 2024 più del doppio rispetto all’ultimo trimestre del…

14 Maggio 2024

Principio di segregazione dell’interfaccia (ISP), quarto principio S.O.L.I.D.

Il principio di segregazione dell'interfaccia è uno dei cinque principi SOLID della progettazione orientata agli oggetti. Una classe dovrebbe avere…

14 Maggio 2024

Come organizzare al meglio i dati e le formule in Excel, per un’analisi ben fatta

Microsoft Excel è lo strumento di riferimento per l'analisi dei dati, perchè offre molte funzionalità per organizzare set di dati,…

14 Maggio 2024

Leggi Innovazione nella tua Lingua

Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.

Seguici