Liferay 6.2 - Не существует UserNotificationEvent с первичным ключом? - PullRequest
0 голосов
/ 09 мая 2018

У меня проблема с уведомлениями на моем портале (Liferay 6.2).

Когда мне пришла в голову мысль удалить старые (и бесполезные) уведомления из таблицы БД USERNOTIFICATIONEVENT, мой портлет уведомлений вылетает.

Каждый раз, когда я открываю уведомления, я получаю следующую ошибку:

Caused by: com.liferay.portal.NoSuchUserNotificationEventException: No UserNotificationEvent exists with the primary key 115765

Хотя моя таблица пуста, и я вхожу в систему с пользователем, уведомления показывают 20 (например), и когда я нажимаю на них, я получаю ошибку. Создавая новое уведомление с кодом Java, таблица обновляет и вставляет новые уведомления, поэтому после этого уведомления отображаются как 21.

Как это возможно, чтобы увидеть 21 уведомление, когда в USERNOTIFICATIONEVENT существует только 1 запись?

1 Ответ

0 голосов
/ 10 мая 2018

Как это возможно? Это потому, что вы манипулировали базой данных, не понимая ее полностью, что является общим рецептом катастрофы. Проверьте , где будет храниться сайт liferay, в какие данные таблицы будут извлекаться? , чтобы аргумент не беспокоил. Если вы что-то делаете с базой данных, делайте это через API, а не через манипуляции с базой данных. Также проверьте ссылку, содержащуюся в этом ответе.

Как правило, существуют дополнительные структуры данных, метаданные, например, для проверки разрешений, или полнотекстовый индекс, который также необходимо обновить. И это еще не полный список

Восстановление резервной копии - это самый безопасный способ восстановления, потому что даже если вы заставите его работать сейчас, процедуры обновления до следующей версии могут обнаружить непредвиденные данные. И тогда уже поздно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...