0

我的任务是将用户从客户数据库迁移到 liferay 门户。

我已经设法找到我需要填充数据的所有地方,以使用户正常工作(USER_、USERS_GROUPS、CONTACT_、LAYOUTSET、EXPANDOVALUE)。

我遇到的唯一问题是ID。Liferay 不使用序列来生成它们(至少我还没有找到),但似乎是从代码中生成它们的。更令人担忧的是,看起来所有 ID(UserID、GroupId、RowID 等)不仅在表范围内,而且在整个数据库范围内都必须是唯一的。

我需要找到一种方法来获取数据库中最后使用的 ID 以及设置我的脚本使用的最后一个 ID 的方法,这样 Liferay 就不会再次使用它。

我无法访问应用程序服务器,只能访问数据库,这就是我无法使用 API 的原因......

4

1 回答 1

1

首先我想问一下,为什么你无法访问应用服务器?更改数据库中的内容就像修理一辆没有工具和手册的现代汽车。有可能把所有事情都做好——但也有可能把所有事情搞砸,如果你忘记了 API 通常会考虑的任何事情。

话虽如此:计数器 ID 保存在COUNTERname 行的表中com.liferay.counter.model.Counter。它按属性值counter.increment(通常为 100)递增。检查课程CounterFinderImpl以了解 Liferay 是如何使用它的。

确保在修改数据库中的任何内容之前停止服务器 - 因为 Liferay 正在缓存许多东西,尤其是当前的计数器值。

于 2015-09-16T14:23:41.570 回答