Liferay 6.2 - 主键不存在用户通知事件?



我遇到了一个关于我的门户网站上的通知的问题(Liferay 6.2(。

当我想到从数据库表USERNOTIFICATIONEVENT中清除旧的(和无用的(通知时,我的通知portlet崩溃了。

每次打开通知时,我都会收到以下错误:

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

虽然我的表是空的,并且我用用户登录,但通知显示为 20(例如(,当我单击它们时,我收到错误。使用 java 代码创建新通知,该表将更新并插入新通知,因此之后通知将显示为 21。

当在用户通知事件中仅存在 1 条记录时,怎么可能看到 21 条通知?

这怎么可能?这是因为您在没有完全理解数据库的情况下操纵了数据库,这是灾难的常见秘诀。检查Liferay网站将在哪里存储哪些表格详细信息?为了一个不打扰的争论。如果在数据库上执行任何操作,请通过 API 执行,而不是通过数据库操作。还要检查该答案中包含的链接。

通常还有其他数据结构,例如用于权限检查的元数据或还需要更新的全文索引。这不是一个完整的列表

还原备份是最安全的恢复方式,因为即使您现在让它正常工作,否则升级到下一版本的例程也可能会发现意外数据。然后为时已晚

最新更新