SilverStripe 4 - Ошибка автоматической публикации версионных файлов в DataExtension
Как указано в этом решении, предложенный обходной путь очень хорошо работает на dev
а также test
Окружение СС. Рекомендуется избегать текущей ошибки, связанной с автоматической публикацией файлов, управляемых через DataObject
$owns
имущество.
Но так как я загрузил свой проект в производство - на live
env - обходной путь больше не работает.
В моем случае я работаю над DataExtension
из User
модель. Остальная часть реализации в точности следует вышеупомянутому случаю - с UploadField
, В производстве, кажется, что фрагмент игнорируется в своем состоянии. В частности, это моя версия:
UserExtension
// AllegatiDownload: many_many File type uploaded with UploadField
public function onAfterWrite()
{
if ($this->owner->AllegatiDownloadID) { // <- This is being ignored in live version
$this->owner->AllegatiDownload()->publishSingle();
}
parent::onAfterWrite();
}
Если я попытаюсь заменить
$this->owner->AllegatiDownloadID
с
$this->owner->AllegatiDownload()
Условие пройти, но $this->owner->AllegatiDownload()->publishSingle()
возвращает исключение 500 исключений. Просто:
Произошла ошибка
И, как я уже сказал, это происходит только в производстве.
Заранее спасибо за поддержку.
1 ответ
Сегодня я сбросил базу данных проекта, чтобы обновить пользовательский интерфейсный компонент, взаимодействующий с ней. Кажется, что после этого сброса вопрос решается. Это довольно странно, потому что я пробовал много /dev/build?flush=all
до того, и ничего не произошло. Кеш сервера может быть? Я не знаю. Но теперь обходной путь работает, как и ожидалось.
В любом случае спасибо за поддержку.