查看项目时更新后的gitlab错误500

dpkg-query -W gitlab gitlab 7.3.2-omnibus-1

我们在Ubuntu 14.04.1 LTS上运行gitlab 6.9.2。 按照此处的说明操作后, https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/update.md

要更新到7.3.2,一切看起来都不错,但是在尝试查看项目时我们得到错误500。

每当我尝试访问其中一个页面时,我在运行sudo gitlab-ctl tail postgresql时看到此错误

 ERROR: relation "users_star_projects" does not exist at character 323 STATEMENT: 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 = '"users_star_projects"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum 

另外,我在/var/log/gitlab/gitlab-rails/production.log:看到了这个错误/var/log/gitlab/gitlab-rails/production.log:

 Completed 500 Internal Server Error in 42ms ActiveRecord::StatementInvalid (PG::Error: ERROR: relation "users_star_projects" does not exist LINE 5: WHERE a.attrelid = '"users_star_projects"'::r... ^ : 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 = '"users_star_projects"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum ): app/models/user.rb:522:in `starred?' app/controllers/projects_controller.rb:63:in `show' 

如果有办法我可以修复或添加缺失的关系?

我在gitlab上发布了这个问题,这帮助我解决了这个问题。 https://gitlab.com/gitlab-org/omnibus-gitlab/issues/277

如果其他人有这个问题或遇到这个问题,我会发布一个关于如何修复它的快速发布。 在我的情况下,我错过了一些数据库关系。 所以你可以通过运行sudo gitlab-rake db:migrate:status来检查: sudo gitlab-rake db:migrate:status如果其中任何一个说下来,那么它们就不会应用了。

您可以尝试通过在我的情况下运行sudo gitlab-ctl reconfigure来解决这个问题。 我不得不手动告诉它使用以下命令运行数据库迁移sudo gitlab-rake db:migrate

之后,当我运行sudo gitlab-rake db:migrate:status它们全部启动,我在使用网站时没有更多的500错误。