设计一个mysql工作流数据库
我正在编写一个简单的问题跟踪系统。我需要知道如何设计一个允许动态工作流程的数据库。
员工将在这些系统中提出请求。此类请求从一个办公室转移到另一个办公室。例如,问题 x 工作流程可能如下:
- 员工发布了一个问题,我已为其定义了类别
- 该问题被路由到工作流程中定义的第一个部门
- 批准后,它被路由到工作流程中定义的第二个部门
我已经有问题、问题类别、部门的表格 所以我想知道如何实现一个与部门相关的工作流程表以及如何在批准后转发到下一个表。
抱歉问了这么长的问题。欢迎提出建议、指导方针、要求澄清。
I am writing a simple issue tracking system. I need to know how I can design a database allowing for dynamic workflows.
Employees will make requests in these system. Such requests move from office to office. For example an issue x workflow could be as follows:
- The employee posts an issue for which I have defined a category
- The issue is routed to the first department defined in the work flow
- After approval, it is routed to the second department defined in the workflow
I already have tables for issues, issue_category, departments
so I want to know how to implement an workflow table related to the departments and how to forward to the next table after approval.
Sorry for the long winded question. suggestions, guidelines, request for clarification welcome.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不编写系统比编写系统花费的时间更少。
您研究过现成的工作流程系统吗?有很多 BPM 解决方案可以很好地完成您所描述的任务。
问题跟踪?您是否考虑过仅使用 JIRA 或 Bugzilla 或类似的东西?
如果您的目的是学习如何编写工作流系统,那就去吧。但如果您打算将解决方案投入生产以供更广泛的受众使用,请注意其他可能性。
我会暂时忘记表格,只是以更抽象的方式思考问题。我在您的声明中看到了许多有意义的实体:
我还想象了一些可能在您的解决方案中有用的其他项目:
您有很多想法在你开始考虑表格之前就先做这件事。我建议先这样做。
这是一个很大的问题。如果您是为其他人做这件事,请确保所有各方都了解他们正在做什么。
Not writing a system takes less time that writing one.
Have you looked into off-the-shelf workflow systems? There are lots of BPM solutions out there that will do what you're describing very nicely.
Issue tracking? Have you thought about just using JIRA or Bugzilla or something like that?
If your purpose is to learn how to write a workflow system, go for it. But if you're intending to put a solution into production for a wider audience be aware of other possibilities.
I'd forget about tables for a while and just think in a more abstract way about the problem. I see a number of meaningful entities in your statement:
I also imagine some other items that might be useful in your solution:
You have a lot of thinking to do before you even begin thinking about tables. I'd recommend doing that first.
This is a very big problem. If you're doing this for someone else, make sure that all parties understand what they're getting into.