语法错误或访问冲突:1044用户php artisan test --并行访问被拒绝

5lhxktic  于 2023-03-16  发布在  PHP
关注(0)|答案(1)|浏览(130)

我尝试按照www.example.com的文档进行操作https://laravel.com/docs/9.x/testing#running-tests-in-parallel,但在对数据库并行运行单元测试时遇到以下错误:
下面是我正在运行的命令:

php artisan test --parallel --testsuite=Unit

这是我得到的错误

2) Tests\Unit\BlueprintRuleUtilTest::testShouldAddDefaultSnowflakeOutsourceCostWillReturnFalse
Illuminate\Database\QueryException: SQLSTATE[42000]: Syntax error or access violation: 1044 Access denied for user 'nova'@'%' to database 'nova_test_1' (SQL: drop database if exists `nova_test_1`)

在阅读文档后,我意识到多个数据库是动态创建的,因此,拥有一组.env数据库凭据将无法连接到创建的N个数据库。是否有解决此问题的模式?

vngu2lb8

vngu2lb81#

我遇到了同样的问题,我发现这个github repo discussion对我帮助很大,但基本上你可以尝试将DB_USERNAME字段的env值设置为root。在链接中提到了sail,我没有使用它,但我可以使用以下命令使它在本地工作:

DB_USERNAME=root php artisan test --parallel --testsuite=Unit

希望它有帮助!

相关问题