gh-ost is reporting wrong the number of multi-columns FK
I maintainer di solito rispondono entro 10 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia tracciando l’ispezione delle chiavi esterne di gh-ost e riproduci le query INFORMATION_SCHEMA riportate sullo schema employees. Verifica come lo strumento conta le righe rispetto ai nomi dei constraint per la relazione composta cit_count_fk. Il lavoro è completato quando il conteggio riportato delle chiavi esterne sul lato parent considera la chiave esterna a due colonne come un solo constraint e non riporta più il conteggio errato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
gh-ost is reporting:
ERROR Found 2 parent-side foreign keys on employees.countries. Parent-side foreign keys are not supported. Bailing out
mysql> SELECT SUM(REFERENCED_TABLE_NAME IS NOT NULL AND TABLE_SCHEMA='employees' AND TABLE_NAME='countries') as num_child_side_fk,
-> SUM(REFERENCED_TABLE_NAME IS NOT NULL AND REFERENCED_TABLE_SCHEMA='employees' AND REFERENCED_TABLE_NAME='countries') as num_parent_side_fk
-> FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
-> WHERE REFERENCED_TABLE_NAME IS NOT NULL
-> AND ((TABLE_SCHEMA='employees' AND TABLE_NAME='countries') OR (REFERENCED_TABLE_SCHEMA='employees' AND REFERENCED_TABLE_NAME='countries'));
+-------------------+--------------------+
| num_child_side_fk | num_parent_side_fk |
+-------------------+--------------------+
| 0 | 2 |
+-------------------+--------------------+
1 row in set (0.00 sec)
But it is a 2-columns FK
mysql> SELECT refcons.constraint_schema,
-> refcons.table_name,
-> refcons.referenced_table_name,
-> refcons.constraint_name,
-> keycol.column_name
-> FROM information_schema.referential_constraints refcons
-> JOIN information_schema.key_column_usage keycol
-> ON refcons.constraint_schema = keycol.table_schema
-> AND refcons.table_name = keycol.table_name
-> AND refcons.constraint_name = keycol.constraint_name
-> WHERE refcons.constraint_schema = 'employees'
-> AND refcons.referenced_table_name = 'countries';
+-------------------+------------+-----------------------+-----------------+-------------+
| CONSTRAINT_SCHEMA | TABLE_NAME | REFERENCED_TABLE_NAME | CONSTRAINT_NAME | COLUMN_NAME |
+-------------------+------------+-----------------------+-----------------+-------------+
| employees | cities | countries | cit_count_fk | country_id |
| employees | cities | countries | cit_count_fk | cod_empresa |
+-------------------+------------+-----------------------+-----------------+-------------+
2 rows in set (0.00 sec)
- Lingua principale
- Go
- Stelle
- 13.6k
- Fork
- 1.4k
- Merge medio
- 9g 19h
- PR unite (30g)
- 1
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di github/gh-ost
-
`--resume` without `--execute` drops the ghost table it correctly skipped alteringForse già presa @ajm188 l’ha presa 55 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 10 giorni
-
[Suggestion] Apply simple validation to alter commandForse già presa @drkemp187 l’ha presa 106 giorni fa. Apertaenhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
github/gh-ost#1431 · 4 commenti ·
I maintainer di solito rispondono entro 10 giorni
-
Migration hangs when --attempt-instant-ddl succeedsForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
I maintainer di solito rispondono entro 10 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
I maintainer di solito rispondono entro 10 giorni
-
Atomic cut-over always fails on MySQL 9.1+: information_schema.processlist errors out (3854) while another session runs a non-BMP utf8mb4 statementForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
github/gh-ost#1780 · 1 commento ·
I maintainer di solito rispondono entro 10 giorni
Tutte le issue di github/gh-ost
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
prime-radiant-inc/evener#6325 ·
I maintainer di solito rispondono entro 1 giorno
-
team:library-maintainers
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
padok-team/burrito#1208 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
bazel-contrib/rules_go#4784 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
betterleaks/betterleaks#484 ·
I maintainer di solito rispondono entro 1 giorno