使用SQL查找Liferay中的站点数

使用SQL查找Liferay中的站点数,liferay,liferay-6.2,Liferay,Liferay 6.2,我想知道Liferay实例中的站点数 如果我有权访问web UI,我会访问配置站点,然后查看它们的编号,但我没有访问web UI的权限,我只能访问MySQL数据库 当我运行“从组中选择计数*”时;我得到了16584个站点,这显然太多了,因为我预计该实例将有大约100个站点。当我查看详细信息时,我发现16584个站点包括每个用户的名称/姓氏等站点 问题:仅使用MySQL请求,如何查找实际Liferay站点的数量?该数字应与管理员在“配置”>“站点”查看列表时看到的数字匹配或接近匹配。使用“组”表,

我想知道Liferay实例中的站点数

如果我有权访问web UI,我会访问配置站点,然后查看它们的编号,但我没有访问web UI的权限,我只能访问MySQL数据库

当我运行“从组中选择计数*”时;我得到了16584个站点,这显然太多了,因为我预计该实例将有大约100个站点。当我查看详细信息时,我发现16584个站点包括每个用户的名称/姓氏等站点


问题:仅使用MySQL请求,如何查找实际Liferay站点的数量?该数字应与管理员在“配置”>“站点”查看列表时看到的数字匹配或接近匹配。

使用“组”表,根据“站点”值为1的条目进行选择。
这应该会给你与配置>站点对应的结果。

你可能希望我拒绝给出这个答案。我决定试一试,但只是在一个重要的免责声明之后。你们尼古拉可能知道会发生什么,但由于其他人也会发现这一点,我觉得这是一个关键信息:

一般来说,您不应该试图理解Liferay的数据库结构,尤其是因为这可能会因为您假定理解它而导致写入它的诱惑。也就是说,偶尔的读访问可能比适当的API访问更容易。简而言之:尽可能地使用API


查看数据库结构:您会发现该表有一个站点标志,它似乎或多或少与非个人站点和非模板相关。它还包括全局站点,并且在从组中选择数据时,没有其他关系是您不会注意的,例如权限等。此外,您也不会提及您是否只选择独立的顶级站点或组织站点。但是有了这些信息,你就应该有基本的信息来确定你需要什么

根据Gavin的想法,以下是一个请求,它为我提供了大致[1]与Configuration>sites中相同的站点:

也有很多类型为0的站点,我想这些是为用户准备的


[1] :类型为3的站点确实令人头痛。大多数都是LFR_组织,不出现在配置>站点中,但有些确实出现在该列表中,可能是那些名称不以LFR_组织结尾的组织。

这正是为什么实际的解决方案不是使用SQL,而是通过API。只是说说而已;
SELECT groupId, friendlyURL FROM Group_ WHERE type_=1 OR type_=2;