使用sqlalchemy的版本化数据的数据库设计

我想就以下设计问题寻求建议。

我有一个草拟的数据库架构,在其中我试图对一种生产线关系进行建模。

"c:\wwwroot\folder_10"

(有关详细架构,请参见图片1

我需要满足以下高级要求。

  • 用户可以使用指定的plan_tasks创建新计划,并在其中填写所有计划数据(planned_start,planned_end,planned_cost等)
  • 用户只能根据计划创建作品。因此,当创建新产品时,给定计划的所有plan_tasks将具有一个对应的任务对象。
  • 生产中的任务完成后,任务对象将使用actual_start_date,actual_end_date,actual_cost等填充。
  • 即使已修改/删除了plan或plan_task的产品也已创建,但生产任务应引用旧数据(快照或版本控制的种类)
  • 生产任务可以添加到已经存在的生产中,而无需计划任务(这是必须添加计划外活动的情景)

目前,如果更改/删除了旧的plan_task数据,我将停留在如何维护任务-> plan_task关系的问题上。我还考虑过创建一个plan_task_history表,在其中放置所有更改,并且plan_task表将仅包含最新值。但是在这种情况下,每当更改plan_task时,我都必须更新相关的任务数据以引用旧版本。也许我的基本架构不是最好的方法,所以我愿意接受任何建议。

iCMS 回答:使用sqlalchemy的版本化数据的数据库设计

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1519929.html

大家都在问