tracker_id 跟踪标签的id,外键到trakers表node
project_id 外键到项目projectide
subject 主题ui
description 问题描述code
due_data 指望完成时间orm
category_id 类别,外键到issue_categories表对象
status_id 状态,外键到issue_statuses表blog
assigned_to_id 指派给的用户id,外键到user表ip
priority_id 优先级,没找到这个表get
fixed_version_id 周版本的id,外键到version表it
author_id 做者的id,外键到user表
created_on 建立时间,有时候不用这个建立时间而是用journals的建立时间是为了获取修改时间
updated_on 更新时间
start_date 问题开始日期
estimated_hours 预计工时
parent_id 父任务id,外键到另外一个issue
root_id 任务关系树根节点的id
建立脚本:
CREATE TABLE `issues` ( `id` int(11) NOT NULL AUTO_INCREMENT, `tracker_id` int(11) NOT NULL DEFAULT '0', `project_id` int(11) NOT NULL DEFAULT '0', `subject` varchar(255) NOT NULL DEFAULT '', `description` text, `due_date` date DEFAULT NULL, `category_id` int(11) DEFAULT NULL, `status_id` int(11) NOT NULL DEFAULT '0', `assigned_to_id` int(11) DEFAULT NULL, `priority_id` int(11) NOT NULL DEFAULT '0', `fixed_version_id` int(11) DEFAULT NULL, `author_id` int(11) NOT NULL DEFAULT '0', `lock_version` int(11) NOT NULL DEFAULT '0', `created_on` datetime DEFAULT NULL, `updated_on` datetime DEFAULT NULL, `start_date` date DEFAULT NULL, `done_ratio` int(11) NOT NULL DEFAULT '0', `estimated_hours` float DEFAULT NULL, `parent_id` int(11) DEFAULT NULL, `root_id` int(11) DEFAULT NULL, `lft` int(11) DEFAULT NULL, `rgt` int(11) DEFAULT NULL, `is_private` tinyint(1) NOT NULL DEFAULT '0', `closed_on` datetime DEFAULT NULL, `deleted` tinyint(1) DEFAULT '0', `acp_id` int(11) DEFAULT NULL, `cache_timestamp` int(11) DEFAULT '0', `is_kanban_node` tinyint(1) DEFAULT '0', `standard_status` int(11) DEFAULT '1', `qa_kanban_status` int(11) DEFAULT NULL, `last_status_change_type` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `index_issues_on_acp_id` (`acp_id`), KEY `issues_project_id` (`project_id`), KEY `index_issues_on_status_id` (`status_id`), KEY `index_issues_on_category_id` (`category_id`), KEY `index_issues_on_assigned_to_id` (`assigned_to_id`), KEY `index_issues_on_fixed_version_id` (`fixed_version_id`), KEY `index_issues_on_tracker_id` (`tracker_id`), KEY `index_issues_on_priority_id` (`priority_id`), KEY `index_issues_on_author_id` (`author_id`), KEY `index_issues_on_created_on` (`created_on`), KEY `index_issues_on_root_id_and_lft_and_rgt` (`root_id`,`lft`,`rgt`), KEY `index_issues_is_kanban_node` (`is_kanban_node`) ) ENGINE=InnoDB AUTO_INCREMENT=48760 DEFAULT CHARSET=utf8
每一次更新issue都会生成一条journal和对应的journal_detail
journalized_id 对应的issue_id,但不是外键
journalized_type 把全部数据取出来去重后,发现这个字段只有一个值,Issue
user_id User的外键
created_on 生成journal的时间
建立脚本:
CREATE TABLE `journals` ( `id` int(11) NOT NULL AUTO_INCREMENT, `journalized_id` int(11) NOT NULL DEFAULT '0', `journalized_type` varchar(30) NOT NULL DEFAULT '', `user_id` int(11) NOT NULL DEFAULT '0', `notes` text, `created_on` datetime NOT NULL, `private_notes` tinyint(1) NOT NULL DEFAULT '0', `is_auto_flow` tinyint(1) DEFAULT '0', PRIMARY KEY (`id`), KEY `journals_journalized_id` (`journalized_id`,`journalized_type`), KEY `index_journals_on_user_id` (`user_id`), KEY `index_journals_on_journalized_id` (`journalized_id`), KEY `index_journals_on_created_on` (`created_on`) ) ENGINE=InnoDB AUTO_INCREMENT=204197 DEFAULT CHARSET=utf8
journal_id 外键到journal
prop_key 对issue改动了什么属性,好比"status_id"
property 改动的属性名
old_value 属性旧值
value 属性新值
name 新建、完成、关闭等
is_closed 只有完成这里是1
is_default 通常id为1的是默认状态
position 列表位置,通常跟id一致
不一样用户会有不一样的project权限
name 中文名
description 描述,可为空
is_public 通常为1
parent_id 父项目的id
created_on 建立时间
updated_on 更新时间
identifier 项目的英文标识
status 都是1, 暂不清楚其余值的含义
lft、rgt
nested set is the way Redmine stores trees in SQL.
至关于此节点的左右范围,并非左右节点
parent.lft<child.lft and child.rgt>parent.rgt
如何遍历这种树:Modified Preorder Tree Traversal
不一样project里有不一样的跟踪标签,以project_trackers表关联
name 中文名
position 列表位置
好比“跟进者”就是一个自定义字段,实际的值是存在custom_values表中的
type 修饰对象的类型,若是是Project的自定义对象,值为ProjectCustomField;若是是Issue的,值为IssueCustomField
name 中文名
field_format 该字段的格式,能够是list、bool、date、issue_status、user等值,好比跟进者的字段格式就是user
possible_value 可能的值,通常list、bool格式的这个字段会有值,其余多为空值
is_required 是否必填
is_for_all 有一些自定义字段不是对全部人都开放的
searchable 通常list格式的这个字段会是1
default_value 默认值
editable 是否可修改
至关于issue或project与custom_fields的关联表
customized_type 能够是Project或Issue
customized_id 修饰对象的id,若是是Issue,那就是issue的id
custom_field_id 外键到custom_field
value 实际的值