Php Gitlab CI管道SQLSTATE[HY000][2002]没有这样的文件或目录(SQL:SHOW FULL TABLES,其中table_type='BASE table')
所有迁移都已成功运行。但是当执行phpunit时,我得到了错误SQLSTATE[HY000][2002]没有这样的文件或目录SQL:SHOW FULL TABLES,其中table_type='BASE table' 我甚至尝试用DB_HOST=127.0.0.1和localhost替换DB_HOST=mysql。迁移未成功运行,并面临errro SQLSTATE[HY000][2002]连接被拒绝的问题。SQL:从信息\u schema.tables中选择*,其中table\u schema=my\u db和table\u name=Migrations,table\u type='BASE table' 我正在为此工作两天。任何帮助都将不胜感激 gitlab-ci.yml 在.env文件中使用以下更改: 然后在Database.php中添加文件夹位置:Php Gitlab CI管道SQLSTATE[HY000][2002]没有这样的文件或目录(SQL:SHOW FULL TABLES,其中table_type='BASE table'),php,mysql,laravel,phpunit,gitlab-ci,Php,Mysql,Laravel,Phpunit,Gitlab Ci,所有迁移都已成功运行。但是当执行phpunit时,我得到了错误SQLSTATE[HY000][2002]没有这样的文件或目录SQL:SHOW FULL TABLES,其中table_type='BASE table' 我甚至尝试用DB_HOST=127.0.0.1和localhost替换DB_HOST=mysql。迁移未成功运行,并面临errro SQLSTATE[HY000][2002]连接被拒绝的问题。SQL:从信息\u schema.tables中选择*,其中table\u schema=
'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'),
最后,尝试:
php artisan config:clear
php artisan migrate:install
希望这能解决您的问题。最后,这件事解决了在phpunit阶段向脚本添加cp.env.env.testing的问题。 也更新了这些 “unix_socket”=>env'DB_socket',“/var/run/mysqld/mysqld.sock” database.php。 DB_端口:变量中的3306 gitlab-ci.yml
我试过这个。正如我提到的,如果我更改DB_HOST=localhost或127.0.0.1,我会被拒绝连接,如果DB_HOST=mysql,则会创建迁移,但在执行PHPUnit时,会出现错误,错误为SQLSTATE[HY000][2002]没有这样的文件或目录SQL:SHOW FULL TABLES,其中table_type='BASE table'。我使用的是Linux而不是mac for unix_socket。我尝试使用unix_socket=/var/run/mysqld/mysqld.sock,但在未创建迁移的情况下连接被拒绝。我已编辑了答案,您现在可以看到它。
'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'),
php artisan config:clear
php artisan migrate:install
stages:
- build
- codequality
- test
variables:
MYSQL_DATABASE: $MYSQL_DATABASE
MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
MYSQL_PASSWORD: $MYSQL_ROOT_PASSWORD
DB_HOST: mysql
DB_DATABASE: $MYSQL_DATABASE
DB_USERNAME: $MYSQL_USER
DB_PASSWORD: $MYSQL_ROOT_PASSWORD
DB_PORT: 3306
cache:
paths:
- vendor/
- .env
image: lorisleiva/laravel-docker:latest
composer:
stage: build
script:
- composer update --prefer-dist --no-ansi --no-interaction --no-progress --no-scripts
- cp .env.example .env
- php artisan key:generate
artifacts:
paths:
- vendor/
- .env
expire_in: 2 days
when: always
cache:
key: ${CI_COMMIT_REF_SLUG}-composer
paths:
- vendor/
psalm:
stage: codequality
dependencies:
- composer
script:
- ./vendor/bin/psalm
artifacts:
paths:
- ./storage/logs
expire_in: 1 days
when: on_failure
codestyle:
stage: codequality
dependencies: []
script:
- phpcs --standard=PSR2 --extensions=php app
phpunit:
stage: test
services:
- mysql:5.7
dependencies:
- composer
script:
- cp .env .env.testing
- php artisan config:clear
- php artisan migrate
- php ./vendor/bin/phpunit --testsuite=Feature
artifacts:
paths:
- ./storage/logs # for debugging
expire_in: 1 days
when: on_failure