使用SQL查找Liferay中的站点数

时间:2018-10-22 03:16:29

标签: liferay liferay-6.2

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

如果我可以访问Web UI,则可以转到Configuration然后访问Sites并查看其编号,但是我无权访问Web UI,我只能访问MySQL数据库。

当我运行SELECT COUNT(*) FROM Group_;时,我得到16584,这显然太多了,因为我期望实例具有大约一百个站点。当我查看详细信息时,我看到16584个站点为每个用户包括了/name-surname之类的“站点”。

问题:仅使用MySQL请求,如何找到“实际” Liferay网站的数量?该数字应匹配(或几乎匹配)管理员在Configuration> Sites上查看列表时看到的数字。

3 个答案:

答案 0 :(得分:1)

您可能希望我拒绝给出这个答案。我决定尝试一下,但要经过一个重要的免责声明。您(尼古拉斯)可能知道会发生什么,但是由于其他人也会发现这一点,因此我认为这是至关重要的信息:

通常,您不应该尝试了解Liferay的数据库结构-尤其是因为这可能会导致诱惑 写入(因为您假设理解了)它)。话虽这么说,偶尔的读取访问可能比(相当合适的)API访问更容易。简而言之:尽可能使用API​​。

查看数据库结构:您会发现该表具有“站点”标志,该标志似乎与非个人站点和非模板或多或少相关。它也包括“全局”站点,并且在从GROUP_选择数据时没有其他关系(例如权限等)不会引起您的注意-另外,如果您只是前往“独立”(顶级)网站或“组织网站”。但是,有了这些信息,您应该具有基本信息来弄清楚您的需求。

答案 1 :(得分:0)

使用Group_表,基于“站点”值为1的条目进行选择。 那应该给您结果对应于配置>站点。

答案 2 :(得分:0)

基于加文的想法,这是给我大致 [1]与Configuration> Sites相同的网站的请求:

SELECT groupId, friendlyURL FROM Group_ WHERE type_=1 OR type_=2;

也有很多类型为0的网站,我猜这些都是针对用户的。

[1]:类型3的网站确实令人头疼。其中大多数是LFR_ORGANIZATION,不会出现在Configuration> Sites中,但是某些DO会出现在该列表中,也许名称不以LFR_ORGANIZATION结尾的DO。 / p>