Laravel Artisan命令用于数据库连接

时间:2014-12-24 18:55:24

标签: laravel-4 artisan artisan-migrate

我正在处理多个数据库连接的项目。我能够从我的控制器运行artisan命令,如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();

提前致谢。

1 个答案:

答案 0 :(得分:1)

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

Laravel Docs for Enviroment Configuration