Laravel测试数据库迁移失败,由于护照



我安装了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变量进行配置,所以是的,除非您指定要使用哪个数据库连接,否则它将使用您默认的.envDB_变量。

你可以定义像.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, 

相关内容

最新更新