• Redmine数据表字段说明


    Redmine数据表结构

    issues

    tracker_id 跟踪标签的id,外键到trakers表

    project_id 外键到项目project

    subject 主题

    description 问题描述

    due_data 期望完成时间

    category_id 类别,外键到issue_categories表

    status_id 状态,外键到issue_statuses表

    assigned_to_id 指派给的用户id,外键到user表

    priority_id 优先级,没找到这个表

    fixed_version_id 周版本的id,外键到version表

    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
    

    journals

    每一次更新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_details

    journal_id 外键到journal

    prop_key 对issue改动了什么属性,比如"status_id"

    property 改动的属性名

    old_value 属性旧值

    value 属性新值

    issue_statuses

    name 新建、完成、关闭等

    is_closed 只有完成这里是1

    is_default 一般id为1的是默认状态

    position 列表位置,一般跟id一致

    projects

    不同用户会有不同的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

    trackers

    不同project里有不同的跟踪标签,以project_trackers表关联

    name 中文名

    position 列表位置

    custom_fields

    比如“跟进者”就是一个自定义字段,实际的值是存在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 是否可修改

    custom_values

    相当于issue或project与custom_fields的关联表

    customized_type 可以是Project或Issue

    customized_id 修饰对象的id,如果是Issue,那就是issue的id

    custom_field_id 外键到custom_field

    value 实际的值

  • 相关阅读:
    福大软工 · 第七次作业
    福大软工 · 第八次作业(课堂实战)- 项目UML设计(团队)
    福大软工1816 · 第六次作业
    福大软工1816 · 第四次作业
    福大软工1816 · 第三次作业
    测试用例设计--黑盒测试、白盒测试
    数据库测试概述
    层次数据库与网状数据库
    ER图转换关系模型
    事务、锁
  • 原文地址:https://www.cnblogs.com/luozx207/p/10551984.html
Copyright © 2020-2023  润新知