我有一个名为Status的“ Person”实体,与该Status实体相关;该关系是一对一的,所以我有:
------------------
Person | StatusID
------------------
Mary | 1
Mat | 1
Billy | 2
------------------
ID | StatusDescr
------------------
1 | Normal
2 | Strong
3 | Old
4 | New
我有一个工作流,在某些情况下,“人”表的StatusID将从1更改为2,或从“正常”更改为“强”。我已经在我的代码中为Status表创建了一个枚举,在我的工作流中,我设置了具有正确枚举的人员的StatusID。
我发现的问题有两个:
1)如果“强”状态具有不同的ID(从Dev到Prod可以更改),我将为目标人员设置错误的StatusID(如果我在搜索中使用ID)
2)如果状态更改名称很强,我将为目标人员设置错误的StatusID(如果我在搜索中使用StatusDescr)
我找到的第一个解决方案是创建另一个表,以将StatusTable的ID与代表我的工作流程的field(WF)关联起来。
--------------------
StatusID | WF
--------------------
2 | Strong_WF
第二种解决方案是添加一个新的位列(IsWF),该列表示在我的工作流程中使用该状态的可能性。
-----------------------------
ID | StatusDescr | IsWF
-----------------------------
1 | Normal | 0
2 | Strong | 1
3 | Old | 0
4 | New | 0
我可以使用另一种解决方案吗?