2

所以我使用综合包将 Gitlab 从 7.1.1 升级到 7.7.2。

升级后,我决定尝试 Gitlab CI 并将该ci_external_url行添加到/etc/gitlab/gitlab.rb,但是当我浏览到定义的 URL 时,我收到 500 错误,并且日志输出如下:

Started GET "/" for 1.3.3.7 at 2015-02-04 09:14:35 +0200
Processing by ProjectsController#index as HTML
PG::UndefinedTable: ERROR:  relation "sessions" does not exist
LINE 5:                WHERE a.attrelid = '"sessions"'::regclass
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
               WHERE a.attrelid = '"sessions"'::regclass
                 AND a.attnum > 0 AND NOT a.attisdropped
               ORDER BY a.attnum

Redirected to 
Completed 500 Internal Server Error in 5ms

ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR:  relation "sessions" does not exist
LINE 5:                WHERE a.attrelid = '"sessions"'::regclass
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
               WHERE a.attrelid = '"sessions"'::regclass
                 AND a.attnum > 0 AND NOT a.attisdropped
               ORDER BY a.attnum
):
  app/controllers/application_controller.rb:76:in `check_config'

我在 Debian 7 上运行它。

4

2 回答 2

3

要么您尚未迁移数据库 ( rake db:migrate),要么您已迁移并且您的代码正在使用不存在的数据库表。

尝试迁移以查看这是否可以解决您的问题。

更新:对于其他有同样问题的人,似乎 Gitlab 的命令是gitlab-ci-rake db:migrate

于 2015-02-04T07:41:59.857 回答
0

我发现集成信息检查sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production是 gitlab 中最有用的命令。它可以突出显示您在更新期间可能遇到的许多问题。除了常规权限问题外,它还识别丢失的数据库更新。

除此之外,我们虔诚地遵循手动更新指南,因为它们包含到目前为止我们需要的每一个步骤(我们不使用综合)。

于 2015-02-04T17:06:09.643 回答