2

我正在从事一个有多个数据库连接的项目。我可以从我的控制器运行工匠命令,例如Artisan::call('migrate', array('--path' => 'app/database/migration'));

但是,这在我的默认数据库连接上运行得很好。现在我正在寻找一种方法来为其他动态数据库连接调用 artisan 命令。我知道我可以在我的命令中指定数据库名称,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();

提前致谢。

4

1 回答 1

1

您应该考虑为不同的数据库连接设置不同的环境。然后,您可以使用--env标志调用该环境中的任何工匠命令。

Laravel 环境配置文档

于 2014-12-24T20:09:48.553 回答