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

Redmine测试库加载失败 提示Role无issues_visibility属性

Redmine测试数据库初始化报错排查

故障场景

执行测试数据库初始化命令时抛出属性不存在错误,执行命令如下:

rake db:drop db:create db:migrate redmine:plugins:migrate redmine:load_default_data RAILS_ENV=test

核心报错信息:

Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] 
====================================    
Error: unknown attribute 'issues_visibility' for Role.

当前环境版本:

ruby:    3.0.4p208
redmine: 5.0.1.stable
rails:   6.1.6

已移除此前安装的2个无数据库迁移逻辑的插件。

故障原因

该报错本质是Role模型加载时,对应数据库表中缺少issues_visibility字段,常见触发场景有三类:

  1. 多任务堆叠在单条rake命令执行时,Rails提前加载了未完成全部迁移的Role表结构缓存,后续迁移完成后缓存未刷新,导致默认数据加载时识别不到字段
  2. 数据库迁移未完整执行,添加issues_visibility字段的核心迁移任务被跳过
  3. 插件目录残留文件覆写了核心Role模型,或缓存文件未清理导致表结构识别异常

解决步骤

  • 第一步:清理全部缓存和残留文件
    执行以下命令清空临时缓存、删除旧的schema定义文件,避免旧缓存干扰:
    bin/rails tmp:cache:clear RAILS_ENV=test
    rm -rf tmp/cache/* db/schema.rb
    
    确认plugins/目录下无残留插件文件夹,所有自行安装的插件文件已完全删除。
  • 第二步:分步骤执行数据库初始化,禁止将所有任务堆叠在单条命令执行
    1. 重建空测试库:
      rake db:drop db:create RAILS_ENV=test
      
    2. 单独执行核心数据库迁移:
      rake db:migrate RAILS_ENV=test
      
      执行完成后检查输出日志,确认包含20121026121906 AddIssuesVisibilityToRoles迁移的成功记录;如果该迁移文件缺失,说明Redmine源码不完整,用5.0.1稳定版完整源码覆盖后重新执行。
    3. 执行插件迁移(空插件目录下该命令无实际改动,仅做流程校验):
      rake redmine:plugins:migrate RAILS_ENV=test
      
    4. 单独加载默认数据,出现语言选择提示时直接回车选择默认en即可:
      rake redmine:load_default_data RAILS_ENV=test
      
  • 第三步:异常校验
    如果分步骤执行后仍报错,进入Rails控制台校验字段是否存在:
    rails c RAILS_ENV=test
    
    控制台内执行:
    Role.column_names.include?('issues_visibility')
    
    如果返回false,手动执行对应版本的迁移补全字段:
    rake db:migrate:up VERSION=20121026121906 RAILS_ENV=test
    
    执行完成后重新加载默认数据即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:42:04