我需要每周记录一个项目的进度,但我还需要在这些时间间隔存储预期的进度,以便将来进行比较。
通常,每个项目都有几个不同持续时间的任务,这些任务构成了项目的总持续时间。
首次存储项目时,我会知道开始日期和结束日期,因此我会将每周间隔存储在日志表中。然后,我可以将此映射与任务相对应,以存储每个时间间隔的预期进度。然后,我计划使用cron作业记录每周的实际进度。
我觉得这个解决方案并不容易。如果项目的计划日期发生变化怎么办?如果存储了另一个任务并延长了项目的总持续时间,则原始存储的时间间隔可能不匹配。另外,如果任务在周中开始怎么办?这与项目范围的间隔不符?
我如何在MySQL的范围内执行此操作?
答案 0 :(得分:1)
一些提示:
这是一个简单的架构作为10的启动器:
CREATE TABLE `project`
(`id` int auto_increment,
`name` varchar(255),
`startDate` datetime,
`plannedEndDate` datetime,
PRIMARY KEY (`id`));
CREATE TABLE `task`
(`id` int auto_increment,
`project_id` int,
`originalEstimate` int,
`timeLogged` int,
`remainingEstimate` int,
PRIMARY KEY (`id`),
KEY `FK_task_project` (`project_id`),
CONSTRAINT `FK_task_project` FOREIGN KEY (`project_id`) REFERENCES `project` (`id`));
CREATE TABLE `progress`
(`id` int auto_increment,
`task_id` int,
`timestamp` datetime,
`timeLogged` int,
`remainingEstimate` int,
PRIMARY KEY (`id`),
KEY `FK_progress_task` (`task_id`),
CONSTRAINT `FK_progress_task` FOREIGN KEY (`task_id`) REFERENCES `task` (`id`));