[英]Can't migrate db in laravel gitlab ci
I have a configuration for laravel with gitlab ci我有一个 laravel 和 gitlab ci 的配置
Everything is going to be ok but when it reaches 'Migrating Command', it fails.一切都会好起来的,但是当它到达“迁移命令”时,它会失败。
This is my yaml:这是我的 yaml:
image: php:latest
services:
- mysql:latest
variables:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: homestead
MYSQL_PASSWORD: secret
MYSQL_DATABASE: homestead
DB_HOST: mysql
stages:
- test
cache:
paths:
- vendor/
test:
stage: test
before_script:
- apt-get update -yqq
- apt-get install gnupg -yqq
- apt-get install git libcurl4-gnutls-dev libicu-dev libmcrypt-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libpq-dev libsqlite3-dev libaspell-dev libsnmp-dev libpcre3-dev libtidy-dev -yqq libzip-dev
- docker-php-ext-install mbstring pdo_mysql curl json intl gd xml zip bz2 opcache
- pecl install xdebug
- docker-php-ext-enable xdebug
- curl -sS https://getcomposer.org/installer | php
- php composer.phar install
- cp .env.example .env
- php artisan key:generate
- php artisan config:cache
- php artisan migrate -v
script:
- php vendor/bin/phpunit --coverage-text --colors=never
only:
- master
This is the error I received:这是我收到的错误:
Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from information_schema.tables where table_schema = laravel and table_name = migrations and table_type = 'BASE TABLE')
I highly suggest replacing the mysql:latest
image by mysql:5.7
since the MySQL 8 use by default another authentication method .我强烈建议用mysql:5.7
替换mysql:latest
image,因为 MySQL 8 默认使用另一种身份验证方法。
Your yaml file should look like something like this:您的 yaml 文件应如下所示:
image: php:latest
services:
- mysql:5.7
# rest of your file
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.