Ошибка «Таблица не найдена» при запросе второго подключения к базе данныхPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Ошибка «Таблица не найдена» при запросе второго подключения к базе данных

Сообщение Anonymous »

Я использую Symfony 7.1.3 с Doctrine DBAL 4.1 и настроил несколько подключений к базе данных в моем Doctry.yaml. Мое подключение по умолчанию (

Код: Выделить всё

npreports
) работает нормально, но когда я пытаюсь запустить запросы по второму соединению (

Код: Выделить всё

npfactory
), я столкнулся со следующей ошибкой:

Код: Выделить всё

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'npreports.scheduled_tasks' doesn't exist
Похоже, ошибка указывает на то, что оно все еще пытается использовать соединение по умолчанию (

Код: Выделить всё

npreports
), хотя запрос предназначен для npfactory.
Вот моя конфигурация базы данных в Doctor.yaml:

Код: Выделить всё

doctrine:
dbal:
default_connection: npreports
connections:
npreports:
url: '%env(resolve:DATABASE_REPORTS_URL)%'
npfactory:
url: '%env(resolve:DATABASE_FACTORY_URL)%'
Я добавляю соединение npfactory в свой репозиторий и контроллер следующим образом:

Код: Выделить всё

public function __construct(Connection $npfactory)
{
$this->npfactory = $npfactory;
}
Окружающая среда:
  • Symfony: 7.1.3
  • Доктрина DBAL: 4.1.0
  • Доктрина ORM: 3.2.2
Что я пробовал:
  • Я могу успешно запросить npreports без каких-либо проблем.
  • Изменение соединения по умолчанию на npfactory работает, но это не идеально, поскольку мне нужны оба соединения.
  • Я подтвердил, что таблица Scheduled_tasks существует в базе данных npfactory.
Что-то не так с тем, как Symfony управляет подключениями к базе данных, или я что-то упускаю в конфигурации Doctrine? Как я могу убедиться, что для каждого запроса используется правильное соединение?
Изображение


Подробнее здесь: https://stackoverflow.com/questions/790 ... connection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»