gitlab 7.xから8.0へ更新したらログインできなくなった場合の対処

More than 3 years have passed since last update.

以下の内容はgitlabをmysqlを使えるように手動インストールした物をアップデートした際の出来事の個人メモです。

gitlabを7.10から8.0.4へアップデートしたらgitlabへログインする際に500エラーが発生してログインできなくなった。

log/production.logを確認したところ、audit_eventsテーブルのdetailsカラムへプロフィールの表示名(日本語)を書き込む際にMysql2::Error: Incorrect string valueが発生しているようだった。

そこでaudit_eventsのCHARSETをutf8に変更した所、正常にログイン出来るようになった。

あとは今後のアップデートでdb:migrateでCHARSETの書き換えが引っかからなければ問題ないはず?

以下に編集後のテーブル構造のダンプをメモしておく。


audit_events.sql

--

-- テーブルの構造 `audit_events`
--

CREATE TABLE IF NOT EXISTS `audit_events` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`author_id` int(11) NOT NULL,
`type` varchar(255) CHARACTER SET latin1 NOT NULL,
`entity_id` int(11) NOT NULL,
`entity_type` varchar(255) CHARACTER SET latin1 NOT NULL,
`details` text COLLATE utf8_unicode_ci,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_audit_events_on_author_id` (`author_id`),
KEY `index_audit_events_on_type` (`type`),
KEY `index_audit_events_on_entity_id_and_entity_type` (`entity_id`,`entity_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;


これgitlabの方へIssueとか立てればいいんだろうけど、英語全く書けないから誰かが報告してくれるの期待したいな…(´・ω・)