Artikel

Cara mengkonfigurasi Laravel untuk menggunakan banyak database di Proyek Anda

Biasanya proyek pengembangan perangkat lunak melibatkan penggunaan Database untuk menyimpan data secara terstruktur.

Untuk proyek tertentu mungkin perlu menggunakan banyak database.

Dengan Laravel, untuk menggunakan banyak database, kita perlu mengkonfigurasi framework dan khususnya file konfigurasi koneksi.

Mari kita lihat cara mengkonfigurasi Laravel untuk menggunakan banyak database.

Perkiraan waktu membaca: 4 minuti

File database.php in config direktori

File ini terletak di direktori config aplikasi Laravel Anda.

Di dalam file database.php Apakah mungkin defiselesaikan beberapa koneksi database. Setiap koneksi harus ada definited sebagai sebuah array. Array harus berisi informasi berikut:

  • driver: driver database yang akan digunakan;
  • host: nama host atau alamatnya IP dari server basis data;
  • port: nomor port server basis data;
  • database: nama basis data;
  • username: nama pengguna untuk menghubungkan ke database;
  • password: kata sandi untuk menghubungkan ke database;

Misalnya kode berikut defiAda dua koneksi database, satu untuk MySQL dan satu lagi untuk 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',
        ],

Bagaimana cara terhubung ke DB

Setelah selesai defiSetelah Anda memiliki koneksi database, Anda dapat menggunakannya dalam kode Anda Laravel. Untuk melakukan ini, Anda dapat menggunakan facade dari basis data. Di sana facade database menyediakan antarmuka terpadu untuk berinteraksi dengan database.

Untuk beralih antar koneksi database, Anda dapat menggunakan metode ini Connection() dari facade Basis Data. Metode Connection() mengambil nama koneksi database sebagai argumen.

Misalnya, kode berikut berpindah dari DB mysql ke DB pgsql:

Buletin inovasi
Jangan lewatkan berita terpenting tentang inovasi. Daftar untuk menerimanya melalui email.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Setelah Anda beralih ke koneksi database, Anda bisa menggunakannya untuk melakukan kueri dan berinteraksi dengan database.

Manfaat menggunakan banyak database di Laravel

Ada banyak keuntungan menggunakan banyak database di Laravel, termasuk:

  • Performa lebih baik: Menggunakan banyak database dapat meningkatkan performa aplikasi dengan memisahkan jenis data yang berbeda. Misalnya, Anda mungkin menyimpan data pengguna di satu database dan data produk di database lain.
  • Keamanan yang ditingkatkan: Menggunakan banyak database dapat meningkatkan keamanan aplikasi dengan memisahkan jenis data yang berbeda. Misalnya, Anda mungkin menyimpan data sensitif di satu database dan data kurang sensitif di database lain.
  • Skalabilitas yang lebih besar: Menggunakan banyak database dapat membuat aplikasi Anda lebih skalabel dengan memungkinkan Anda mendistribusikan data ke beberapa server.

Praktik terbaik untuk menggunakan banyak database di Laravel

Berikut adalah beberapa praktik terbaik untuk menggunakan banyak database di Laravel:

  • Gunakan nama yang mudah diingat untuk koneksi database: Ini akan memudahkan untuk mengidentifikasi dan mengelola koneksi database.
  • Gunakan metode ini Connection() untuk pergi dari satu DB ke yang lain - ini akan membantu Anda menghindari lari secara tidak sengaja pertanyaan pada Database salah.
  • Gunakan sistem migrasi database untuk mengelola skema database Anda – ini akan membantu Anda menjaga skema database Anda tetap sinkron di seluruh skema database Anda Database.

kesimpulan

Menggunakan banyak database di Laravel bisa menjadi cara terbaik untuk meningkatkan kinerja, keamanan, dan skalabilitas aplikasi Anda. Dengan mengikuti praktik terbaik yang dijelaskan dalam artikel ini, Anda dapat menggunakan banyak database di Laravel secara efektif.

Bacaan Terkait

Ercole Palmeri

Buletin inovasi
Jangan lewatkan berita terpenting tentang inovasi. Daftar untuk menerimanya melalui email.

Artikel Terbaru

Pembayaran Online: Begini Cara Layanan Streaming Membuat Anda Membayar Selamanya

Jutaan orang membayar layanan streaming, membayar biaya berlangganan bulanan. Sudah menjadi pendapat umum bahwa Anda…

April 29 2024

Veeam menghadirkan dukungan paling komprehensif untuk ransomware, mulai dari perlindungan hingga respons dan pemulihan

Coveware by Veeam akan terus menyediakan layanan respons insiden pemerasan siber. Coveware akan menawarkan kemampuan forensik dan remediasi…

April 23 2024

Revolusi Hijau dan Digital: Bagaimana Pemeliharaan Prediktif Mengubah Industri Minyak & Gas

Pemeliharaan prediktif merevolusi sektor minyak & gas, dengan pendekatan inovatif dan proaktif terhadap manajemen pembangkit listrik.…

April 22 2024

Regulator antimonopoli Inggris meningkatkan kekhawatiran BigTech atas GenAI

CMA Inggris telah mengeluarkan peringatan tentang perilaku Big Tech di pasar kecerdasan buatan. Di sana…

April 18 2024