Доктрина консоли Symfony: схема: обновление —force SQLSTATE [HY000] [1045] Доступ запрещен для пользователя ‘root’ @ ‘localhost’ (с использованием пароля: НЕТ)

У меня есть приложение Symfony 4, которое подключается к локальному экземпляру MySQL. Он прекрасно работает в приложении, а также при использовании консольных команд для доктрины. Внезапно, несмотря на то, что ничего не изменилось в моей конфигурации базы данных (и мой экземпляр mysql работает), я получаю эту ошибку:

SQLSTATE [HY000] [1045] Доступ запрещен для пользователя ‘root’ @ ‘localhost’ (с использованием пароля: НЕТ)

когда я бегу:

php bin / console доктрина: схема: обновление —force

Тем не менее, мое соединение в приложении работает отлично! Та же самая команда работала совершенно нормально всего час назад. Я знаю, что уже есть много вопросов об этой проблеме, но ответы не относятся ко мне. Сейчас я испытываю нехватку времени, чтобы закончить проект, и это сводит меня с ума.

Это моя конфигурация .env:

DB_USER=root
DB_PASSWORD=root
DB_HOST=localhost
DB_PORT=3306
DB_NAME=test DATABASE_URL=mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}

и мой конфиг doctrine.yaml выглядит так:

parameters:
# Adds a fallback DATABASE_URL if the env var is not set.
# This allows you to run cache:warmup even if your
# environment variables are not available yet.
# You should not need to change this value.
env(DATABASE_URL): ''

doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci

url: '%env(resolve:DATABASE_URL)%'
mapping_types:
enum: string
orm:
auto_generate_proxy_classes: true
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App

0

Решение

Я решил эту проблему, изменив кодировку и сопоставление в doctrine.yaml на другой, более общий utf8. Я не менял его все время, и он работал с ним раньше, поэтому я понятия не имею, почему он вдруг решил, что в одной части приложения его недостаточно.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector