Corriger l'erreur column timelogs.merge_request_id does not exist

This commit is contained in:
Benoît S. 2017-06-19 09:57:23 +02:00
parent d6834682ba
commit 249700b766

View file

@ -510,3 +510,26 @@ Par exemple si on downgrade une version. Il faudra récupérer la bonne version
```
$ bundle exec rake db:migrate:redo RAILS_ENV=production VERSION=20161223034646
```
## Corriger l'erreur column timelogs.merge_request_id does not exist
Si vous avez une erreur 500 lors de l'accès à une merge request et l'erreur suivante dans les logs :
~~~
==> gitlab/log/production.log <==
Started GET "/foo/bar/merge_requests/1" for 2001:db8::f00 at 2017-06-19 09:48:11 +0200
Processing by Projects::MergeRequestsController#show as HTML
Parameters: {"namespace_id"=>"foo", "project_id"=>"bar", "id"=>"1"}
Completed 500 Internal Server Error in 214ms (ActiveRecord: 28.3ms)
ActionView::Template::Error (PG::UndefinedColumn: ERROR: column timelogs.merge_request_id does not exist
LINE 1: ...UM("timelogs"."time_spent") FROM "timelogs" WHERE "timelogs"...
~~~
C'est que le schéma SQL n'est pas à jour. Pour corriger le problème on peut jouer la migration DB qui s'occupe de crée la colonne timelogs.merge_request_id.
~~~
$ bundle exec rake db:migrate:redo RAILS_ENV=production VERSION=20170124174637
~~~
> **Note**: Si vous avez un erreur avec le redo, il faudra probablement éditer le fichier de migration, pour commenter la partie « down ».