Bootstrap 错误:关系 "ai_agent_mcp_servers" 不存在

所以,这里有一份来自 ask.discourse.com 的 bug 报告,但首先,我想分享它提供的一段内容:

我决定让它保持原样,不“直白简短”。:rofl:(我并没有笑倒在地,但我确实真的笑出了声。)

这看起来是一份可信的报告,而且可能比我写的更好。

来自 ask 的 bug 报告

以下是你可以发布到 Meta 的简洁 bug 报告:

更新后,在 `db:migrate` 期间 bootstrap 失败,报错:

```text
PG::UndefinedTable: ERROR:  relation "ai_agent_mcp_servers" does not exist

失败的迁移文件是:

/plugins/discourse-ai/db/migrate/20260319070000_add_selected_tool_names_to_ai_agent_mcp_servers.rb

看起来该迁移试图在 ai_agent_mcp_servers 表尚未存在时就为其添加列。

日志中的相关部分:

== 20260319070000 AddSelectedToolNamesToAiAgentMcpServers: migrating ==========
PG::UndefinedTable: ERROR:  relation "ai_agent_mcp_servers" does not exist
...
/var/www/discourse/plugins/discourse-ai/db/migrate/20260319070000_add_selected_tool_names_to_ai_agent_mcp_servers.rb:5

这看起来是 discourse-ai 中的迁移顺序问题,或者是缺少一个本应创建 ai_agent_mcp_servers 表的早期迁移。

环境信息:

  • 官方 Docker 安装
  • bundle exec rake db:migrate 时 bootstrap 失败
  • 日志中显示的插件包括 discourse-citationwizarddiscourse-prometheus

完整报告 / 日志:
Bootstrap 错误:relation “ai_agent_mcp_servers” 不存在