我正在尝试查询Redmine MySQL数据库。 我有跟踪表和问题状态表。每个跟踪器都有不同的下拉问题状态。
例如,跟踪器ABC可能具有NEW,IN PROGRESS和CLOSED的发布状态的下拉菜单,而跟踪器DEF可能具有USED和CLOSED的发布状态。 (但问题状态表将列出所有状态。) 我的问题是redmine在哪里存储跟踪器和问题状态之间的关系?我一直在调查所有表格,但无法弄明白。
提前感谢您的帮助。
答案 0 :(得分:1)
有4个表与问题状态相关。
问题, issue_statuses ,期刊和 journal_details 。
在问题中,你有status_id列,它包含整数值,代表问题状态id(1 = new等等),基于你在issue_statuses表中的值。
在期刊和journal_details中是一个关于一个问题的变化历史记录,因此journal保留了issue id,而journal_details有一个old_value和new_value字段,表示在该特定问题上发生的变化,通过id连接。
但是在Redmine所基于的RubyOnRails中,就像CakePHP和类似的框架一样,关系是通过模型完成的,所以你应该使用一些ERM工具来寻找像 rails-erd 这样的关系。或者 RailRoady 工具,而不是试图从数据库模型中找出关系,建议你不要编写sql代码,而是使用activerecord来查询数据库,因为SQL代码不同而且Redmine可以工作不同的平台,如MySql,MSSql,Posgresql ......