Merhaba.
Çoklu veritabanı oluşturma ve bunları dinamik olarak kullanmak istiyorum. Kayıt olan her kullanıcı için bir veritabanı oluşturma işlemini yapabiliyorum fakat oluşturulan bu veritabanını migrate edemiyorum.
$user=User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'database'=>uniqid()
]);
Artisan::call('make:database',['dbname'=>$user->database]);
\Config::set("database.connections.mysql", [
"database" => $user->database
]);
Artisan::call('migrate');
return $user;
Burada Config'i set edince dd() ile set edildi mi diye kontrol edince set edilmiş olduğunu görüyorum fakat migrate edince 'Nothing to migrate.' çıktısını alıyorum Artisan::out() ile.
Ayrıca Artisan::call('migrate',['--database'=>$user->database]);
bu komutu deneyerek yaptığımda
Database [5d7acdf5adf6a] not configured. hatasını alıyorum.
Burada ki asıl amacım her kullanıcının bir veritabanı olması ve sorgularını bu veritabanında gerçekleştirmesini sağlamak.
Schema::connection(\Config::get('database.connections.mysql.database'))->create('users', function (Blueprint $table) {
...
}
Şöyle bir yolda denedim fakat malesef işe yaramadı.
Bu işin dinamik bir yolu var mı? Yok ise her veritabanı için config/database.php içinde connections mı eklemem gerekiyor?