a question about the usage of gh-ost when migrated

Offen
#1,361 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 10 Tagen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
go, mysql
Bereich
databases

Rechercherichtung

Beginne mit dem im Issue gezeigten SQL für die temporäre Tabelle und verfolge, wo gh-ost die Hint- und Value-Spalten mit dem ASCII-Zeichensatz definiert. Vergleiche dieses Verhalten mit den MySQL-Migrationsanforderungen und bestätige, ob eine Zeichensatzänderung die Metadaten des Tools bewahren würde; abgeschlossen bedeutet, dass die Kompatibilitätsfrage beantwortet ist und das erforderliche Verhalten durch einen Regressionstest abgedeckt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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

Vorherrschende Sprache
Go
Sterne
13.6k
Forks
1.4k
Ø Merge
9 T. 19 Std.
Gemergte PRs (30 T.)
1

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus github/gh-ost

Alle Issues in github/gh-ost

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.