bug fixed for dump
This commit is contained in:
parent
53dfe7747a
commit
23ffb3d2a0
13
engine.go
13
engine.go
|
@ -297,6 +297,7 @@ func (engine *Engine) DumpAll(w io.Writer) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
cols, err := rows.Columns()
|
cols, err := rows.Columns()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -317,15 +318,17 @@ func (engine *Engine) DumpAll(w io.Writer) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
var temp string
|
var temp string
|
||||||
for _, d := range dest {
|
for i, d := range dest {
|
||||||
|
col := table.GetColumn(cols[i])
|
||||||
if d == nil {
|
if d == nil {
|
||||||
temp += ", NULL"
|
temp += ", NULL"
|
||||||
} else if reflect.TypeOf(d).Kind() == reflect.String {
|
} else if col.SQLType.IsText() || col.SQLType.IsTime() {
|
||||||
temp += ", '" + strings.Replace(d.(string), "'", "''", -1) + "'"
|
var v = fmt.Sprintf("%s", d)
|
||||||
} else if reflect.TypeOf(d).Kind() == reflect.Slice {
|
temp += ", '" + strings.Replace(v, "'", "''", -1) + "'"
|
||||||
|
} else if col.SQLType.IsBlob() /*reflect.TypeOf(d).Kind() == reflect.Slice*/ {
|
||||||
temp += fmt.Sprintf(", %s", engine.dialect.FormatBytes(d.([]byte)))
|
temp += fmt.Sprintf(", %s", engine.dialect.FormatBytes(d.([]byte)))
|
||||||
} else {
|
} else {
|
||||||
temp += fmt.Sprintf(", %v", d)
|
temp += fmt.Sprintf(", %s", d)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_, err = io.WriteString(w, temp[2:]+");\n\n")
|
_, err = io.WriteString(w, temp[2:]+");\n\n")
|
||||||
|
|
Loading…
Reference in New Issue