Bitbucket Server upgrade fails due to "Incorrect string value for column 'comment_text'"

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: サーバーと Data Center のみ。この記事は、サーバーおよび Data Center プラットフォームのアトラシアン製品にのみ適用されます。

問題

The upgrade to Bitbucket Server 5.+ fails.

The following appears in the user interface:

The database schema could not be updated

The following appears in the atlassian-bitbucket.log

ERROR [spring-startup] liquibase classpath:liquibase/master.xml: liquibase/r5_0/upgrade.xml::BSERVDEV-8489-12::jpalacios: Change Set liquibase/r5_0/upgrade.xml::BSERVDEV-8489-12::jpalacios failed. Error: Incorrect string value: '<character>' for column 'comment_text' at row <row_number> [Failed SQL: insert into bb_comment (
id,
author_id,
comment_text,
created_timestamp,
entity_version,
thread_id,
updated_timestamp
)
select
id,
author_id,
comment_text,
created_timestamp,
entity_version,
id,
updated_timestamp
from sta_comment
where root_id is null]

診断

環境

  • MySQL as database

診断ステップ

  • Check the database encoding and collation:

    USE <database_name>;
    SELECT @@character_set_database, @@collation_database
    • The results don't match the expected results of using utf8 as encoding and utf8_bin as collation

  • The database dump for the sta_comment table returns the expected values (utf8 as encoding and utf8_bin as collation)

原因

When upgrading Bitbucket Server, SQL commands are run to update the database schema.

If the default encoding or collation are not correct (e.g. latin1), the new tables with the configured encoding (latin1) in this case.

If special characters are stored in the database and cannot be converted, the data migration from the sta_comment table to the bb_comment fails due to different encoding.

ソリューション

データベースの変更を行う場合は必ず事前にバックアップを取得してください。可能な場合は、まずステージング サーバーで SQL コマンドの変更、挿入、更新、または削除を行うようにします。

  • Take a backup of Bitbucket Server (see Data recovery and backups)
  • Bitbucket Server を停止します。
  • Change the database encoding to utf8 by running

    USE <database_name>;
    ALTER DATABASE <database_name> CHARACTER SET utf8;
  • Perform the upgrade

Last modified on Mar 1, 2018

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.