CHECK constraints being renamed to MySQL defaults

Offen
#1,341 2 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 10 Tagen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
go, mysql
Bereich
databases

Rechercherichtung

Beginnen Sie in go/logic/applier.go ungefähr bei Zeile 223 und prüfen Sie, wie die Migration die Ersatztabelle erstellt. Reproduzieren Sie den gemeldeten Fall mit einer benannten CHECK-Constraint in der Tabelle foo und verifizieren Sie anschließend, dass die migrierte Tabelle my_check_constraint beibehält, statt einen generierten Namen wie foo_check_1 zu erhalten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

gh-ost version: 1.1.6

We noticed when migrating tables with named CHECK constraints, they were renamed after the migration to the MySQL default names.

eg:
A CHECK constraint on a table foo named my_check_constraint is renamed to foo_check_1 after a gh-ost migration of table foo.

I suspect this is because it looks like gh-ost is using a CREATE TABLE ... LIKE stmt referenced here. CREATE TABLE ... LIKE will copy the CHECK constraints but generate their names. [src]

For CREATE TABLE ... LIKE, the destination table preserves CHECK constraints from the original table, except that all the constraint names are generated.

We'd like to keep these CHECK constraint names consistent if possible. Is this a feature that can be added in a future release or a welcomed PR?

Thanks for all of the great work on gh-ost!

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.