a question about the usage of gh-ost when migrated

オープン
#1,361 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 10 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
go, mysql
領域
databases

調査の方向性

Issue に示されている一時テーブルの SQL から始め、gh-ost が hint 列と value 列を ASCII 文字セットで定義している箇所を追跡します。その動作を MySQL のマイグレーション要件と比較し、文字セットを変更してもツールのメタデータが維持されるか確認します。完了条件は、互換性に関する問いに回答でき、必要な動作が回帰テストでカバーされていることです。

索引モデルが issue の本文から書いたものです。

説明

Hello, I encountered a database migration failure while using gh-ost. The main reason is due to the use of the ASCII character set. The source database is MySQL, while the target database does not support the ASCII character set.

And I check that most temp table like "%_ghc" used contain hint&value in ascii:

q1: why not use utf8 or other charset that cover ascii(latin1,gbk or else)?
q2: can I just simplify use utf8 for hint&value?

 Query	create /* gh-ost */ table `test`.`_b_ghc` (
			id bigint auto_increment,
			last_update timestamp not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
			hint varchar(64) charset ascii not null,
			value varchar(4096) charset ascii not null,
			primary key(id),
			unique key hint_uidx(hint)
		) auto_increment=256

主要言語
Go
スター
13.6k
フォーク
1.4k
平均マージ
9日 19時間
マージ済み PR(30日)
1

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

github/gh-ost のほかの issue

github/gh-ost の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。