【问题标题】:Migrating Bugzilla to non fresh JIRA duplicate key将 Bugzilla 迁移到非新鲜的 JIRA 重复密钥
【发布时间】:2010-08-08 19:17:32
【问题描述】:

我有一个已经有一些信息的 JIRA 环境,我正在尝试将所有 bugzilla 错误合并到 JIRA。 我正在尝试使用导入器表单 JIRA "BugzillaImportBean.java‎" 但是当它尝试插入 OS_CURRENTSTEP 表时失败了,因为唯一的 Key 违规,本质上该 ID 已经存在于该表的 JIRA 中。

所以它崩溃了 final GenericValue issue = createIssue(resultSet, getProductName(resultSet, true), componentName);

从 Bugzilla 导入数据时出错:com.atlassian.jira.exception.CreateException:无法为 #259350 创建新的当前步骤:根本原因:插入时:[GenericEntity:OSCurrentStep][id,357430][startDate,2010- 07-23 05:32:14.414][status,Open][owner,][finishDate,null][actionId,0][stepId,1][dueDate,null][entryId,259350](执行以下操作时出现 SQL 异常:INSERT INTO OS_CURRENTSTEP (ID, ENTRY_ID, STEP_ID, ACTION_ID, OWNER, START_DATE, DUE_DATE, FINISH_DATE, STATUS, CALLER) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) (重复输入键 1)) 的“357430”

解决此问题的最佳方法是什么? Bugzilla 数据库架构:http://tldp.org/LDP/bugzilla/Bugzilla-Guide/dbschema.html Jira 数据库架构:http://confluence.atlassian.com/display/JIRA/Database+Schema http://confluence.atlassian.com/display/JIRA/Modifying+the+Bugzilla+Importer

创建表`OS_CURRENTSTEP`( `ID` 十进制(18,0)不为空, `ENTRY_ID` 十进制(18,0) 默认 NULL, `STEP_ID` 十进制(9,0) 默认 NULL, `ACTION_ID` 十进制(9,0) 默认 NULL, `OWNER` varchar(60) 默认为 NULL, `START_DATE` 日期时间默认 NULL, `DUE_DATE` 日期时间默认 NULL, `FINISH_DATE` 日期时间默认 NULL, `STATUS` varchar(60) 默认为 NULL, `CALLER` varchar(60) 默认为 NULL, 主键(`ID`), KEY `wf_entryid` (`ENTRY_ID`) ) 引擎=MyISAM 默认字符集=utf8;

【问题讨论】:

    标签: migration jira bugzilla


    【解决方案1】:
    1. 问题可能是重复的序列值。查看SEQUENCE_VALUE_ITEM表,查找“OSCurrentStep”之类的行(如果不是名称,表到实体名称的映射在WEB-INF/classes/entitydefs/entitymodel.xml中)

      select * from SEQUENCE_VALUE_ITEM where SEQ_NAME='OSCurrentStep'

      • 检查最大使用值是多少: select MAX(ID) from OS_CURRENTSTEP

      • 将 SEQ_ID 设置为大于最大使用值,四舍五入为 10 的倍数。 (在http://confluence.atlassian.com/display/JIRA/Database+Schema#SEQUENCE_VALUE_ITEM 中描述)

      • 失败的重复键 '357430' 是 10 的倍数,这表明这是原因

    2. 一个更简单但不太可能的解决方案:您是否尝试再次导入相同的问题?

      如果是这样,那么“点击导入器中的'仅导入新问题'复选框”,如下所述:http://confluence.atlassian.com/display/JIRA/Importing+Data+from+Bugzilla

      • (您会注意到失败的语句在此条件内:if (!onlyNewIssues || !previouslyImportedKeys.containsKey...

    【讨论】:

      【解决方案2】:

      Bugzilla 导入器似乎对状态和工作流程步骤感到困惑。我不记得它是否尝试动态创建新的工作流程步骤?那个进口商是正确的狗的早餐,这就是为什么我写自己的产品来进口到JIRA。事实上,我明天再做一个。

      无论如何,缩小问题范围的一种方法是导入问题子集。也许您没有完成从 Bugzilla 状态(自定义?)到 JIRA 状态的映射?

      http://confluence.atlassian.com/display/JIRA/Issue+status+and+workflow 上有更多关于这个胆量的信息

      ~马特

      【讨论】:

      • "尝试动态创建新的工作流程步骤?"我认为情况并非如此。查看您引用的页面,Step 是一个小的固定整数,对应于 Status。但它会插入一个 OS_CURRENTSTEP 每个问题的行
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      • 2020-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多