RT系统开发与优化:从数据库到测试的全面指南
数据库相关考虑
在RT系统中,你可以自由设计自己的数据库模式或修改RT表,只要代码能反映你所创建的表即可。RT内部会根据用户界面中指定的条件和当前执行的任务生成自己的SQL语句,其中涉及到的连接操作主要有内连接和外连接两种类型。
- 内连接(Inner Joins) :通常,当RT将一个表与另一个表进行连接时,默认生成的是内连接。内连接会排除那些在两个表中没有匹配行(即在特定列,通常是唯一列,值不相同)的数据行,因为这些行不满足查询要求。例如,当你要求RT返回一个受工单状态约束的用户及其工单列表时,你只会看到那些工单状态符合给定条件的用户。
- 外连接(Outer Joins) :偶尔,RT需要执行左(外)连接。左外连接会接受左表中的记录,即使这些记录在右表中没有匹配的行。在这种情况下,RT仍然会返回左表中的行,而右表对应的行则为null(无数据)。比如,当你要求RT返回一个用户及其工单列表时,数据库中有些用户可能还没有任何工单,但你仍然希望看到所有用户的列表,包括有工单的用户和没有工单的用户。
此外,事务处理是基于每个操作进行的。以创建新工单为例,创建新工单时涉及的所有元素都作为一个单一事务处理,具体可能包括以下操作步骤:
1. 创建一个新工单。
2. 如果该用户之前未出现过,并且访问控制列表(ACL)允许任何人创建新工单,则创建一个新用户。
3. (可选)将工单分配给一个现有组。
4. (可选)将工单分配给一个现有队列。
如果在任何一个步骤中出现失败,工
超级会员免费看
订阅专栏 解锁全文
1109

被折叠的 条评论
为什么被折叠?



