Доктрина не видит изменений в определенных полях внутри сущности для prod env, но делает это для dev env - PullRequest
0 голосов
/ 28 марта 2019

У меня работает администратор сонаты, и у меня уже есть работающий объект / администратор. Я добавил еще два столбца в форму доктрины, сущность, администратора и запустил команду app / console doctrine: schema: update, чтобы поля были успешно добавлены в базу данных.

В локальной среде разработчика это прекрасно работает.

На производстве новые поля не сохраняются.

При сохранении сущности в администраторе сонаты, если я вручную вызываю $ this-> isMyNewField () в preUpdate или postUpdate, я получаю правильный результат true или false в зависимости от того, установлен я флажок или нет.

Однако, похоже, доктрина вообще не правильно регистрирует поле, я зарегистрировал sql, что он работает при обновлении и сохранении, и он буквально даже не пытается что-либо делать с полем вообще.

Если я изменю AppKernel для запуска на «dev», а не на «prod» (в производственной среде), тогда все будет работать, как ожидается, и доктрина подхватит его без проблем.

Я пытался очистить метаданные доктрины, очистить кеш, перезапустить серверы, изменить типы полей, удалить в доктрине и повторно добавить (через XML-файл объекта orm)

Все еще не повезло. Любые другие идеи, которые я могу попробовать?

Спасибо

Кевин

1 Ответ

0 голосов
/ 01 апреля 2019

Привет, все получается, это была команда

app/console doctrine:cache:clear-metadata 

Это нужно было запустить, я пробовал это безуспешно, поэтому я пропустил большое env, поэтому команда была

app/console doctrine:cache:clear-metadata --env=prod

После этого все было в порядке, очень расстраивает

...