API-платформа — переход на mySQL

Я пробую API-платформу. Я установил последнюю версию и запускаю ее в Docker в Windows 10. Базой данных по умолчанию является postgres, и я хочу использовать MySQL.

Я установил версию по умолчанию с postgres и смог запустить ее.

Я изменил docker-compose.yaml

db:
  image: mysql:8
  environment: 
    - MYSQL_ROOT_PASSWORD=root
    - MYSQL_DATABASE=api
    - MYSQL_USER=api-platform
    - MYSQL_PASSWORD=!ChangeMe!
  volumes:
    - db-data:/var/lib/mysql
  ports:
    - target: 3306
      published: 3306
      protocol: tcp

и API/.env

DATABASE_URL=mysql://api-platform:[email protected]:3306/api

файл для использования MySQL 8.0. Вроде все работает, но в логе докера вижу

php_1 | Waiting for db to be ready...

и когда я открываю браузер на https://127.0.0.1:8443, я получаю 502 Bad Gateway.

Любые ключи к проблеме?

Спасибо


person RSGA    schedule 09.06.2020    source источник
comment
Можете ли вы поделиться содержимым вашего doctrine.yaml файла?   -  person Thomas Vangelooven    schedule 11.06.2020


Ответы (1)


Вот что я сделал, чтобы MySQL 8 работал на платформе API.

Скачал последнюю версию API Platform 2.5.6

докер-compose.yml

db:
  image: mysql:8
  command: mysqld --default-authentication-plugin=mysql_native_password
  restart: always
  security_opt:
    - seccomp:unconfirmed
  enviroment:
    - MYSQL_ROOT_PASSWORD=root
    - MYSQL_USER=api-platform
    - MYSQL_PASSWORD=!ChangeMe!
    - MYSQL_DATABASE=api
  volumes:
    -  db-data:/var/lib/mysql
  ports:
    - target: 3306
      published: 3306
      protocol: tcp

\api.env

DATABASE_URL=mysql://api-platform:!ChangeMe!@db:3306/api?server_version=8

\апи\докерфайл

RUN set -eux; \
    apk add --no-cache --virtual .\build-deps \
    $PHPIZE_DEPS \
    icu-dev \
    libzip-dev \
    pdo_mysql \
    zip \
; \
docker-php-ext-configure zip; \
docker-php-ext-install -j$(nproc) \
    intl \
    pdo_mysql \
    zip \
; \

\api\докер\php\докер-entrypoint.sh

#if ls -A src/Migrations/*.php > /dev/null 2>&1; then
#    bin/console doctrine:migrations:migrate --no-interaction
#fi

Было бы неплохо, если бы сценарии миграции обрабатывали MySQL. По крайней мере, он у меня сейчас работает.

person RSGA    schedule 14.06.2020