Laravel’de iki farklı veritabanına bağlanmak için, config/database.php dosyasını ve Eloquent ORM’i kullanabilirsiniz. İşte bu işlemi adım adım nasıl yapabileceğiniz:
İlk adım olarak, config/database.php dosyasını açın. Bu dosya, Laravel uygulamanızın veritabanı yapılandırma ayarlarını içerir. Bu dosyada birden fazla veritabanı bağlantısı tanımlayabilirsiniz.
connections dizisi içinde, yeni bir veritabanı bağlantısı tanımlayın. Örneğin, ikinci bir MySQL veritabanına bağlanmak için aşağıdaki gibi bir yapılandırma ekleyebilirsiniz:
'connections' => [ // İlk veritabanı bağlantısı 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), // Diğer bağlantı ayrıntıları burada... ], // İkinci veritabanı bağlantısı 'mysql2' => [ 'driver' => 'mysql', 'host' => env('DB_HOST_2', '127.0.0.1'), 'port' => env('DB_PORT_2', '3306'), // Diğer bağlantı ayrıntıları burada... ], ],
Yukarıdaki örnekte, ‘mysql2’ olarak adlandırılmış ikinci bir MySQL bağlantısı tanımladık. Bağlantı ayrıntılarını kendi gereksinimlerinize göre ayarlayabilirsiniz.
Şimdi, yeni bağlantınız için .env dosyanızda çevresel değişkenleri (environment variables) ayarlayın. Örneğin:
DB_HOST_2=second_db_host DB_PORT_2=second_db_port DB_DATABASE_2=second_db_name DB_USERNAME_2=second_db_user DB_PASSWORD_2=second_db_password
Laravel’de kullanmak istediğiniz veritabanı bağlantısını belirlediğinizde, bu bağlantıyı kullanarak Eloquent modelleri ile çalışabilirsiniz. Modelin bağlanacağı veritabanını belirlemek için ‘on’ özelliğini kullanabilirsiniz:
class MyModel extends Model { protected $connection = 'mysql2'; // İkinci veritabanı bağlantısını kullan }
Yukarıdaki örnekte, MyModel isimli Eloquent modeli ikinci veritabanı bağlantısını (‘mysql2’) kullanacak şekilde ayarlanmıştır. Bu model ile veritabanı sorguları ikinci veritabanına yönlendirilecektir.
Bu adımları takip ederek, Laravel’de iki farklı veritabanına bağlanabilir ve her birini kullanabilirsiniz.