默认情况下,Laravel的artisan migrate
命令使用.env文件来加载数据库配置,但是如何让它看看database.php而不是.env文件来加载数据库连接信息?
如果我从.env文件中删除数据库凭据,则会出现以下错误:
[InvalidArgumentException] 数据库[mysql]未配置。
虽然database.php有正确的连接细节。
答案 0 :(得分:3)
您可以使用--database
指定要使用的数据库连接:
php artisan migrate --database=pgsql
php artisan migrate --database=mysql
php artisan migrate --database=sqlite
答案 1 :(得分:3)
从 .env
中删除此内容DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=new
DB_USERNAME=root
DB_PASSWORD=''
转到配置文件夹中的database.php
并编辑此来自
'default' => env('DB_CONNECTION', 'mysql'),
以强>
'default' => 'mysql',
如果您正在使用其他数据库(例如sqlite或sqlserv,请更改默认值)
并且不要忘记更改凭据
mysql例证:
'mysql' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'database',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
简而言之:您需要从.env
文件中删除与数据库相关的变量,并将数据库中的env('DB_HOST', 'localhost')
或类似内容更改为简单文本''