Menghubungkan Laravel Dengan Database Kedua - Perwira Learning center
Latar Belakang
Dalam pengembangan aplikasi monitoring, terkadang data tidak hanya berasal dari satu database. Misalnya, kita ingin mengambil data dari sistem lain atau memisahkan database utama dengan database log/monitoring. Laravel menyediakan fitur multiple database connection yang memungkinkan kita terhubung ke lebih dari satu database dalam satu aplikasi.
Alat dan Teknologi
Beberapa alat yang digunakan:
PHP
Laravel Framework
MySQL / MariaDB
Composer
Web Server (Apache/Nginx)
Konsep Multiple Database
Laravel memungkinkan kita mendefinisikan beberapa koneksi database dalam file konfigurasi. Setiap koneksi dapat digunakan sesuai kebutuhan, misalnya:
Database utama (
mysql)Database kedua (
second_mysql)
Menambahkan Konfigurasi Database Kedua
Tambahkan konfigurasi database kedua pada file .env:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=main_database
DB_USERNAME=root
DB_PASSWORD=
SECOND_DB_HOST=127.0.0.1
SECOND_DB_PORT=3306
SECOND_DB_DATABASE=second_database
SECOND_DB_USERNAME=root
SECOND_DB_PASSWORD=
Kemudian buka file config/database.php dan tambahkan koneksi baru:
'connections' => [
'mysql' => [
'driver' => 'mysql',
// konfigurasi default
],
'second_mysql' => [
'driver' => 'mysql',
'host' => env('SECOND_DB_HOST', '127.0.0.1'),
'port' => env('SECOND_DB_PORT', '3306'),
'database' => env('SECOND_DB_DATABASE', 'forge'),
'username' => env('SECOND_DB_USERNAME', 'forge'),
'password' => env('SECOND_DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
],
],
Menggunakan Koneksi Database Kedua
Setelah konfigurasi selesai, kita bisa menggunakan koneksi tersebut dengan Query Builder:
use Illuminate\Support\Facades\DB;
$data = DB::connection('second_mysql')
->table('users')
->get();
return $data;
Contoh Penggunaan
Misalnya kita ingin mengambil total user dari database kedua:
$totalUser = DB::connection('second_mysql')
->table('users')
->count();
Penjelasan Kode
DB::connection('second_mysql')digunakan untuk memilih koneksi database keduaQuery selanjutnya akan dijalankan pada database tersebut
Bisa digunakan untuk semua operasi (select, insert, update, delete)
Kelebihan Pendekatan Ini
Mendukung integrasi dengan sistem lain
Memisahkan data sesuai kebutuhan (misalnya log dan utama)
Fleksibel dalam pengolahan data multi-source
Tetap menggunakan Query Builder yang sama
Catatan Penting
Pastikan konfigurasi
.envsudah benar (host, database, username, password)Gunakan nama koneksi yang konsisten (
second_mysql)Perhatikan performa jika sering berpindah koneksi database
Jalankan
php artisan config:cachesetelah mengubah konfigurasi
Pengembangan Lanjutan
Fitur ini bisa dikembangkan dengan:
Mengambil data lintas database untuk dashboard monitoring
Sinkronisasi data antar database
Menggunakan Eloquent Model dengan koneksi berbeda
Integrasi dengan API eksternal
Kesimpulan
Menghubungkan Laravel dengan database kedua sangat mudah dengan fitur multiple connection. Dengan menggunakan DB::connection('second_mysql'), kita dapat mengakses database lain secara fleksibel dan efisien, terutama dalam sistem monitoring yang membutuhkan data dari berbagai sumber.
Daftar Pustaka
Laravel Documentation. (2025). "Database: Configuration". Diakses dari https://laravel.com/docs/database
Laravel Documentation. (2025). "Query Builder". Diakses dari https://laravel.com/docs/queries
W3Schools. (2025). "MySQL Connections". Diakses dari https://www.w3schools.com/php/php_mysql_connect.asp
0 komentar:
Posting Komentar