【发布时间】:2015-02-07 22:29:30
【问题描述】:
我不知道为什么当我运行 PHPUnit 测试时,我得到以下错误:
PDOException: SQLSTATE[HY000] [2002] 没有这样的文件或目录
我的测试环境数据库设置是:
return [
'fetch' => PDO::FETCH_CLASS,
'default' => 'mysql',
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'clg_test',
'username' => 'root',
'password' => 'veryHardPass',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
]
],
'migrations' => 'migrations',
];
我之所以使用 MySQL 而不是 SQLite,是因为我的迁移文件使用了 SQLite 不支持的dropColumn。我在设置中通过Artisan::call('migrate') 调用迁移。
如果我实际上通过php artisan migrate --env=testing 在终端中手动调用迁移,则迁移成功并创建数据库。
为什么我会遇到上述问题?
【问题讨论】:
标签: php mysql laravel laravel-testing