Laravel Birden Fazla Database Kullanımı
#Laravel - 23 May 2023

Merhabalar, Bu yazımda Laravel'de birden fazla database bağlantısı nasıl kurulur ondan bahsedeceğim.

Öncelike config/database.php içerisinde bağlanmak istediğiniz veritabanı için bir bağlantı ayarı oluşturmanız gerekmekte. "Database Connections" kısmına gelip örnek konfigürasyonları düzenleyebilir yada kendiniz yeni bir bağlantı ayarı oluşturabilirsiniz. Burda oluşturacağınız bağlantı ayarlarına .env dosyasından da database bilgilerinizi girebilirsiniz.

        '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'),
            ]) : [],
        ],

Yukarıda verdiğim örneği kendinize göre istediğiniz gibi düzenleyebilirsiniz. Ben config/database.php içerisinde mevcut olan bir konfigürasyonu sizinle paylaştım.

Aşağıdaki şekilde de veritabanı üzerinden işlemlerinizi yapabilirsiniz.

use Illuminate\Support\Facades\DB;
 
$users = DB::connection('mysql')->select(/* ... */);

Migration işlemleri için ise bu şekilde kullanabilirsiniz

Schema::connection('pgsql')->create('some_table', function($table)
{
    $table->increments('id'):
});