Liferay数据库table工作流程?

Liferay database table work flow?

我是 Liferay 的新手。现在我需要在以下场景中创建具有 Liferay table 工作流程的流程图,

1) 如果我们创建站点管理员,table 将 reflect/update 的列表是什么?

2) 如果我们创建站点,table 将 reflect/update 的列表是什么?

我尝试打开数据库 tables 并注意到 USER_、CONTACT_ 会反映出来,但我需要所有相关 tables 的列表,这会在我们创建站点和站点管理员时反映出来?我使用的是 Liferay 6.2 版本。

提前致谢。

当您想了解任何系统的内部结构时,最好查看相关的源代码。因此,在这种情况下,您可以检查那些用于用户和站点上的 CRUD 操作的 类 的源代码。

1) What are the list of table will reflect/update if we create the site admin?

  • Site-administrator是一个Role,可以应用于Liferay中创建的User。
  • 因此,如果您想要从用户创建到用户被分配特定站点的站点管理员角色的所有 tables,这里有一些我可以回忆起来:
    • 用户_(明显)
    • Contact_(不太明显 :-))
    • Group_(由于用户有 public 和私人页面,用户也被创建为此 table 中的记录)
    • 地址(如果您添加地址)
    • Phone(如果你加一个Phone)
    • Users_Roles(默认分配Power user角色)
    • UserGroupRole(用户和站点角色关系,站点管理员是站点角色)
    • Users_Groups(用户与站点关系)
  • 其他的你应该参考UserLocalServiceImplRoleLocalServiceImplGroupLocalServiceImpl的源代码,检查前缀为addupdate等的相关方法.
  • 这些模块的相应 service.xml 会显示正在使用的数据库 table。

2) What are the list of table will reflect/update if we create the site?

  • 站点只是 Liferay 中的群组。所以很明显Group_table发挥了很大的作用
  • 其他 table 也取决于您在创建站点时所做的配置。
  • 然后当您开始为站点创建页面时,会有其他 table 类似 Layout

我强烈建议 继续探索 类 的源代码,您会了解流程 - table 何时以及什么受到影响.

这里有一些约定可以帮助您遍历源代码,几乎每个 *LocalServiceImpl 都与 *Model 相关联,例如 UserLocalServiceImplUserModel 几乎每个*Model 有一个对应的同名数据库table。 此外,功能的名称在大多数情况下会暗示正在使用什么服务 类 来连接到数据库,例如添加 User 会暗示使用 UserLocalServiceImpl.

希望我已经理解你的问题并且能够给出一些正确的方向。

如果你想知道这个因为你也想写这些表:不要去那里!您应该纯粹使用 API 来更改 Liferay 存储的数据。否则你 运行 在未来的某个时候陷入灾难 - 承诺。

为了获取Liferay实际使用的SQL命令,配置portal-ext.properties并更改此默认值:

hibernate.show_sql=false

然后转到"Server Administration/Log Levels"并添加一个新类别"org.hibernate.SQL",将其配置为DEBUG级别。然后结果显示在日志中。请注意,此日志配置是暂时的,将在下次服务器启动时恢复。如果您希望设置持久化,则需要进入 Liferay 的 log4j 配置文件。

记住:您不想到表曾经。答应!