• Liferay表结构介绍(一):系统平台相关表


    参考:http://www.huqiwen.com/2016/06/04/liferay-database-referee-1-system-tables/

    Liferay的结构基本上可以按这个逻辑进行划分,一个环境包括多个实例,一个实例包含多个站点,一个站点包含多个页面,一个页面里面包含多个Portlet。

    创建实例的功能在控制面板-->服务器管理-->创建实例。实例在系统中的反映就是company。

    创建company的时候会主要在如下表中生成数据:company、account_、virtualhost、shard、user_、

    在Liferay中一个实例相当于云计算中多租户中的一个租户。

    Company表

    companyId:实例ID,也就是其他表中的companyId,在大部分场景下我们只有一个实例,此companyid不变。

    accountId:对应于account_表里面的accountId。

    webId:有点类似实例的名称,用来做区分不同实例的。

    key_:系统自动生成,基于代码Base64.objectToString(Encryptor.generateKey())

    mx:公司的邮件域名,创建时一般和域名保持一致即可。

    homeURL:首页的地址,一般默认为空,对应于控制面板,portal设置里面的首页地址。

    logoId:实例级别的logo的id,对于应用image表里面的id,在Portal设置显示里面更改logo是此值变化。

    system:此值作用不知道,默认为false。界面上没有修改的地方。

    maxUsers:可以创建多少用户,用来对实例进行限制,对于多租户场景下的服务租用适合。

    active_:此实例是否激活,在实例管理处进行的设置。

    account_表

    只作主要字段的说明。

    userId,userName:为空,一般不修改。

    name:和实例中的webId相同。对应于Portal设置中的名称,默认站点的名称。

    parentAccountId:一般为0,不作修改。

    legalName、legalId、legalType、sicCode、tickerSymbol、industry、type_:分别对应于控制面板Portal设置中的附加信息相应字段。

    size:作用未知,没有地方进行初始化,没有地方进行设置。

    virtualhost表

    虚拟主机表,此表的主要作用是是来对应域名判断访问哪个实例,同一个tomcat中有不同的实例,不同实例的访问是基于域名进行的。

    virtualHostId:表的主键,没有特别意义。

    companyId:对应用于company表的主键。

    layoutSetId:一般为0。

    hostname:在创建实例的时候初始化的,可以在实例和portal设置中的虚拟主机那里进行修改编辑。

    shard表

    存放liferay的数据库分片相关信息

    shardId:主键

    classNameId:哪个类,对应于classname_表中的主键。一般初始化值为20025,对应用于company。

    classPK:对于的className的主键。一般是初始化对应于companyId。

    name:数据库分片的值,此值默认为default,可以在portal.properties里面通过 shard.default.name属性进行配置。

    +++++++++++++++++++++++++++++

    以上为创建实例时为主要更新的表,对于User表的信息,在介绍user表时再详说。

    +++++++++++++++++++++++++++++

    portalpreferences表

    此表保存的为Portal的一些配置信息,主要为Portal设置里面的,比如CAS、LDAP、CDN配置等等相关信息。

    如果是寻找Portal的设置是ownerId为companyId,ownerType为1。

    portalPreferencesId:主键

    ownerId:拥有者的Id,寻找Portal的设置的话,此处的ownerId对应用于companyId。

    ownerType:Portal信息的此值为1。

    preferences:具体的信息存储,里面存储的是XML结构(liferay 7.0及以后变为json格式),存储的内容主要为key-value的形式。

    注意:比如是配置了CAS想取消,就可以在这里找到对应的值,然后对true改为false,重启后就修改了配置。

    +++++++++++++++++++++++++++++

    其他全局表

    address、emailaddress、phone、website等表里面存储的分别对应于地址、邮件地址、电话、网址等,在Portal设置、组织机构、用户等的编辑处都可以见到,这是Liferay存储的一些通信信息,可为指定的对象添加多个地址、多个邮件地址、多个电话等,并设置为哪个为主要的。这些表里面只有三个字段需要特别说明,其他的看字段名即可明白。

    primary_:是否主要的。

    classNameId:属于是哪个对象,此ID对应于className表里面的主键。

    classPK:对象的主键。

    程序通过classNameId与classPK的组合,即可确定是哪一条记录。

    ----------------------------------------------

    country表、region表

    里面存储的是国家地区的一些元数据相关信息。

    classname_表

    实体对象信息,使用serviceBuilder生成的表,创建后都会在此生成一条记录。

    classNameId:主键

    value:对应的对象的名称className。

    counter表

    liferay里面的相关记数表

    name:记数的对象,比如在代码中使用counterLocalService.increment()获取ID时,就是从name为com.liferay.counter.model.Counter的查询,在对应的valuse上面加值。

    currentId:当前的ID是多少。

    当代码中使用counterLocalService.increment()获取ID时,不传参数就是从name为com.liferay.counter.model.Counter获取,如果传了name,则根据name进行一次加1,如果再传了size参数,则是一次性加上指定的size。

  • 相关阅读:
    Linux学习——在虚拟机上的Linux进行磁盘分区
    Linux命令学习3——用户管理
    linux 命令学习2
    linux 命令学习1——tr命令
    基于netty的一个简单的时间服务器的实现(netty学习)
    JavaNIO
    JavaNIO中的内存映射io
    打造高效的工作环境 – SHELL 篇
    linux下怎么清理缓存
    清理系统缓存
  • 原文地址:https://www.cnblogs.com/show58/p/13801751.html
Copyright © 2020-2023  润新知