我安装了Laravel Passport,并在数据库中迁移了新表。但是当我尝试为测试数据库运行迁移时,例如。artisan migrate --database=testing
得到:
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'oauth_auth_codes' already exists
测试数据库中唯一存在的表是migrations
表。它看起来像是在检查常规数据库并查看这个Passport表,而不是检查测试数据库。我错过了一些简单的吗?
php artisan ...
命令将使用您的.env
变量进行配置,所以是的,除非您指定要使用哪个数据库连接,否则它将使用您默认的.env
的DB_
变量。
你可以定义像.env.testing
这样的文件,然后作为php artisan migrate --env=testing
重新运行,使用该文件而不是默认文件。
.env
:
DB_CONNECTION=mysql
DB_DATABASE=database
...
# Host, Port, Username, Password,
.env.testing
:
DB_CONNECTION=mysql
DB_DATABASE=testing
...
# Host, Port, Username, Password,