我正在处理一个有多个数据库连接的项目。我可以像Artisan::call('migrate', array('--path' => 'app/database/migration'));
一样从控制器运行工匠命令
但是,这在我的默认数据库连接上运行得很好。现在我正在寻找一种为其他动态数据库连接调用工匠命令的方法。我知道我可以像Artisan::call('migrate', array('--database' => 'myDatabase', '--path' => 'app/database/migration/myCustomMigration'));
一样在我的命令中指定数据库名称,但它没有按预期工作。它仍在我的默认数据库连接上运行命令。
有什么办法可以做到这一点,因为我可以像这样雄辩地运行工作......
$user = new User;
$user->setConnection('myDatabaseConnectionKey');
$user->email = $email;
$user->password = Hash::make('password');
$user->first_name = 'First name';
$user->last_name = 'Last name';
$user->created_at = new DateTime();
$user->updated_at = new DateTime();
$user->save();
提前谢谢。
应考虑为不同的数据库连接设置不同的环境。然后,您可以使用 --env 标志调用该环境中的任何工匠命令。
Laravel Docs for Enviroment Configuration