You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过直接修改数据库变更JIRA自定义字段类型(保留字段ID)

关于JIRA自定义字段类型转换的问题解答

关于changeitem表的处理

必须替换!changeitem表存储的是工单的变更历史记录,里面的oldvalue和newvalue字段保存的是原Database Value插件的实体ID。如果不替换成新的下拉选项ID,后续查看工单变更历史时,旧的变更记录会显示异常(比如显示不存在的ID值,甚至触发页面报错),所以一定要批量更新这个表中对应字段的相关值。

遗漏的关键操作步骤

  • 全量备份数据库:直接修改JIRA核心数据表风险极高,操作前必须完整备份数据库,一旦出问题可以快速回滚。
  • 确认customfield表的键值正确性:标准下拉字段的customfieldtypekey必须是com.atlassian.jira.plugin.system.customfieldtypes:select,customfieldsearcherkey必须是com.atlassian.jira.plugin.system.customfieldtypes:selectsearcher,别填错。
  • 清理JIRA缓存目录:除了删除databasevalue_field_key.properties,还要删除JIRA主目录下的<JIRA_HOME>/plugins/.osgi-cache和<JIRA_HOME>/temp文件夹,彻底清除旧插件的缓存数据,避免启动后加载异常。
  • 验证customfieldoption表关联:通过UI创建下拉选项后,要检查customfieldoption表中这些选项的customfield字段值是否和目标自定义字段的ID一致,确保选项和字段正确绑定。
  • 启动后全面验证:启动JIRA后,要检查:
    • 工单上该字段的显示和编辑是否正常
    • 变更历史中的旧记录是否正确显示新的选项值
    • 用该字段做搜索、过滤是否能正常返回结果
    • 查看atlassian-jira.log日志,确认没有相关报错
  • 处理插件遗留数据表(可选):如果Database Value插件有专属的AO前缀数据表(比如AO_XXXXXX_DATABASE_VALUE),确认没有其他字段依赖这个插件后,可以备份后删除这些表,清理冗余数据。

内容的提问来源于stack exchange,提问作者Ignat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:10:07