Gitlab CE 500升级/降级后错误



我有一个Gitlab CE服务器版本13.10,在系统更新到14.8版本时发现错误更新。

使用这些版本,我得到一个500错误的所有页面。

所以我降级到13.10.5版本,我可以再次使用我的Gitlab服务器。

然而,想要创建一个新的组,我又有一个500错误:

Started GET "/groups/new" for 62.34.67.75 at 2022-04-19 17:23:00 +0200
Processing by GroupsController#new as HTML
Completed 500 Internal Server Error in 78ms (ActiveRecord: 4.2ms | Elasticsearch: 0.0ms | Allocations: 27029)

ActionView::Template::Error (PG::UndefinedTable: ERROR:  relation "services" does not exist
LINE 8:  WHERE a.attrelid = '"services"'::regclass

显然这个错误似乎与数据库有关。

我试图通过安装版本13.11.7来升级一个版本,所有页面都导致500错误,与上面的错误相同。

任何帮助都将是感激的。

在谷歌搜索后,似乎integrations表被重命名为services: https://gitlab.com/gitlab-org/gitlab/-/blob/master/db/post_migrate/20210621223242_finalize_rename_services_to_integrations.rb

查看服务器上的数据库模式后,integrations仍然存在。

所以这就像数据库仍然在前面的版本和数据库降级不ok。

我通过使用gitlab-psql来执行这个查询来解决这个错误:

ALTER TABLE Integrations RENAME TO Services;

Integrations重命名为services,问题就解决了。

不能直接从13.10更新到14.8,否则将错过某些数据库迁移。如果在升级路径中跳过版本,您可能会发现GitLab的许多功能将以意想不到的方式被破坏。

必须按照升级路径执行。这意味着在您的情况下,您应该先升级到13.12.15,然后升级到14.0.12,然后升级到14.x.y(例如14.8)。另外,在迁移到下一个版本之前,请确保完成所有后台迁移,并注意版本特定的注释(特别是在14.0中)。

您遇到的问题可以通过手动运行数据库操作来修复,但不建议这样做。最好的选择是遵循升级路径,以确保所有迁移都以正确的顺序正确地进行。

相关内容

  • 没有找到相关文章

最新更新