`--database`在laravel中的“Artisan :: call”方法中不起作用

时间:2018-03-10 13:07:34

标签: php database laravel laravel-5 laravel-migrations

我用来动态设置数据库并运行迁移到更新数据库以创建所有表。使用以下命令

Artisan::call("migrate",['--database'=>'new_database','--path'=>'database/migrations/company']);

但我总是收到此错误

  

在DatabaseManager.php第239行中的1/1 InvalidArgumentException:数据库   [new_database]未配置。

在我的database.php中创建了连接

'company' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '3306'),
            'database' => '',
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => false,
            'engine' => null,
        ],

请帮助我理解。

2 个答案:

答案 0 :(得分:0)

试试这个

Artisan::call("migrate",['--database'=>'company','--path'=>'database/migrations/company']);

答案 1 :(得分:0)

migrate命令的--database参数指定将运行迁移命令的数据库连接(而不是数据库名称)。

您是否在database.php文件中定义了'new_database'连接?

另外,如何设置数据库?确保在执行artisan命令之前运行处理此代码的代码。