laravel-4 - 数据库连接上的 Laravel Artisan 命令

标签 laravel-4 laravel-artisan artisan-migrate

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

然而,这在我的默认数据库连接上运行得很好。现在我正在寻找一种方法来为其他动态数据库连接调用 artisan 命令。我知道我可以在命令中指定数据库名称,例如 Artisan::call('migrate', array('--database' => 'myDatabase', '--path' => 'app/database/migration/myCustomMigration')); 但它没有按预期工作。它仍在我的默认数据库连接上运行命令。

有没有办法做到这一点,因为我可以像...一样 Eloquent 地运行工作

$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 标志在该环境中调用任何 artisan 命令。

Laravel Docs for Enviroment Configuration

关于laravel-4 - 数据库连接上的 Laravel Artisan 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27641165/

相关文章:

php - 将原始的Elasticsearch-php库集成到Laravel 4.2中吗?

php - 在 Laravel 中使用 PUT/DELETE 的值(value)是什么?

laravel - Eloquent count() 总是返回 1

laravel-5 - 在 Laravel 5.3.30 artisan 命令中不起作用

laravel-5 - laravel 5 中的数据库连接问题

PHP artisan migrate 不创建新表

jquery - Chrome "unable to load"图像作为 CSS 'background' - 然后它归咎于 jquery

Laravel 模型工厂没有看到我的应用程序

php - Laravel php artisan 数据库 :seed leads to "use" statement error

laravel - 如何在 Laravel 5 中为表使用全局前缀