This commit is contained in:
Lunny Xiao 2021-07-29 00:05:48 +08:00
parent a3c96246ec
commit b3bf20a83e
1 changed files with 11 additions and 25 deletions

View File

@ -561,38 +561,24 @@ func (engine *Engine) dumpTables(ctx context.Context, tables []*schemas.Table, w
} }
for i, scanResult := range scanResults { for i, scanResult := range scanResults {
stp := schemas.SQLType{Name: types[i].DatabaseTypeName()} stp := schemas.SQLType{Name: types[i].DatabaseTypeName()}
if stp.IsNumeric() {
s := scanResult.(*sql.NullString) s := scanResult.(*sql.NullString)
if s.Valid { if !s.Valid {
if _, err = io.WriteString(w, formatBool(s.String, dstDialect)); err != nil {
return err
}
} else {
if _, err = io.WriteString(w, "NULL"); err != nil { if _, err = io.WriteString(w, "NULL"); err != nil {
return err return err
} }
} else {
if stp.IsNumeric() {
if _, err = io.WriteString(w, s.String); err != nil {
return err
} }
} else if stp.IsBool() { } else if stp.IsBool() {
s := scanResult.(*sql.NullString)
if s.Valid {
if _, err = io.WriteString(w, formatBool(s.String, dstDialect)); err != nil { if _, err = io.WriteString(w, formatBool(s.String, dstDialect)); err != nil {
return err return err
} }
} else { } else {
if _, err = io.WriteString(w, "NULL"); err != nil {
return err
}
}
} else {
s := scanResult.(*sql.NullString)
if s.Valid {
if _, err = io.WriteString(w, "'"+strings.ReplaceAll(s.String, "'", "''")+"'"); err != nil { if _, err = io.WriteString(w, "'"+strings.ReplaceAll(s.String, "'", "''")+"'"); err != nil {
return err return err
} }
} else {
if _, err = io.WriteString(w, "NULL"); err != nil {
return err
}
} }
} }
if i < len(scanResults)-1 { if i < len(scanResults)-1 {