Skip to content

Commit 88eb2d6

Browse files
author
Shlomi Noach
authored
Merge pull request #130 from dveeden/foreign_key_info
Give more info about foreign keys
2 parents d9ae2f3 + d3422bd commit 88eb2d6

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

go/logic/inspect.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ func (this *Inspector) validateTable() error {
351351
// validateTableForeignKeys makes sure no foreign keys exist on the migrated table
352352
func (this *Inspector) validateTableForeignKeys() error {
353353
query := `
354-
SELECT COUNT(*) AS num_foreign_keys
354+
SELECT TABLE_SCHEMA, TABLE_NAME
355355
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
356356
WHERE
357357
REFERENCED_TABLE_NAME IS NOT NULL
@@ -361,8 +361,10 @@ func (this *Inspector) validateTableForeignKeys() error {
361361
`
362362
numForeignKeys := 0
363363
err := sqlutils.QueryRowsMap(this.db, query, func(rowMap sqlutils.RowMap) error {
364-
numForeignKeys = rowMap.GetInt("num_foreign_keys")
365-
364+
fkSchema := rowMap.GetString("TABLE_SCHEMA")
365+
fkTable := rowMap.GetString("TABLE_NAME")
366+
log.Infof("Found foreign key on %s.%s related to %s.%s", sql.EscapeName(fkSchema), sql.EscapeName(fkTable), sql.EscapeName(this.migrationContext.DatabaseName), sql.EscapeName(this.migrationContext.OriginalTableName))
367+
numForeignKeys++
366368
return nil
367369
},
368370
this.migrationContext.DatabaseName,
@@ -374,7 +376,7 @@ func (this *Inspector) validateTableForeignKeys() error {
374376
return err
375377
}
376378
if numForeignKeys > 0 {
377-
return log.Errorf("Found %d foreign keys on %s.%s. Foreign keys are not supported. Bailing out", numForeignKeys, sql.EscapeName(this.migrationContext.DatabaseName), sql.EscapeName(this.migrationContext.OriginalTableName))
379+
return log.Errorf("Found %d foreign keys related to %s.%s. Foreign keys are not supported. Bailing out", numForeignKeys, sql.EscapeName(this.migrationContext.DatabaseName), sql.EscapeName(this.migrationContext.OriginalTableName))
378380
}
379381
log.Debugf("Validated no foreign keys exist on table")
380382
return nil

0 commit comments

Comments
 (0)