需要更好地设计我的数据库模式,更改特定行的请求值,table 中的列
Need a better design for my database schema, make change request value of a specific row, column in a table
我有一个案例,我想对 table 上的特定字段提出更改请求,其中将有两方,一方提出特定字段的变更请求,另一方提出接受它。
现在假设我有一个名为 'Deals' 的 table,当前字段为:
deals: investor_id, team_invested_id , investment_size, investment_type , pmv, etc...
现在双方都可以请求更改 table 上的任何属性,并且请求必须得到对方的批准。
到目前为止我的解决方案是这样的,但我对此表示怀疑:
使用以下字段创建新的 table 'deals_change_requests':
deals_change_requests: id, deal_id, team_requested_id, column_name, new_value, approved.
这可能效果很好,但它迫使我以相同类型格式处理交易的所有属性...因为我应该只为 new_value 属性决定一种类型,到目前为止我应该是 VARCHAR看过...
有更好的解决方案吗?
我建议将其加入主table:
investor_id, team_invested_id , investment_size, investment_type , pmv, version, approved, team_requested_id
1, 1, 1000, BOND, 11, 0, 1, 1
1, 1, 1000, BOND, 13, 1, 0, 2
在上面的示例中,团队 1 创建了一项投资,PMV 为 11,并且已获得批准。还有来自团队 2 的更改请求,将 PMV 更改为 13,但尚未批准。
这意味着您不必弄乱数据类型,所有更改历史记录都存在于同一个 table 中。您显然可以包括日期以显示更改生效的时间。
我有一个案例,我想对 table 上的特定字段提出更改请求,其中将有两方,一方提出特定字段的变更请求,另一方提出接受它。
现在假设我有一个名为 'Deals' 的 table,当前字段为:
deals: investor_id, team_invested_id , investment_size, investment_type , pmv, etc...
现在双方都可以请求更改 table 上的任何属性,并且请求必须得到对方的批准。
到目前为止我的解决方案是这样的,但我对此表示怀疑: 使用以下字段创建新的 table 'deals_change_requests':
deals_change_requests: id, deal_id, team_requested_id, column_name, new_value, approved.
这可能效果很好,但它迫使我以相同类型格式处理交易的所有属性...因为我应该只为 new_value 属性决定一种类型,到目前为止我应该是 VARCHAR看过...
有更好的解决方案吗?
我建议将其加入主table:
investor_id, team_invested_id , investment_size, investment_type , pmv, version, approved, team_requested_id
1, 1, 1000, BOND, 11, 0, 1, 1
1, 1, 1000, BOND, 13, 1, 0, 2
在上面的示例中,团队 1 创建了一项投资,PMV 为 11,并且已获得批准。还有来自团队 2 的更改请求,将 PMV 更改为 13,但尚未批准。
这意味着您不必弄乱数据类型,所有更改历史记录都存在于同一个 table 中。您显然可以包括日期以显示更改生效的时间。