|
|
@@ -527,7 +527,11 @@ func (engine *Engine) dumpTables(tables []*core.Table, w io.Writer, tp ...core.D |
|
|
|
} else if col.SQLType.IsNumeric() { |
|
|
|
switch reflect.TypeOf(d).Kind() { |
|
|
|
case reflect.Slice: |
|
|
|
temp += fmt.Sprintf(", %s", string(d.([]byte))) |
|
|
|
if col.SQLType.Name == core.Bool { |
|
|
|
temp += fmt.Sprintf(", %v", strconv.FormatBool(d.([]byte)[0] != byte('0'))) |
|
|
|
} else { |
|
|
|
temp += fmt.Sprintf(", %s", string(d.([]byte))) |
|
|
|
} |
|
|
|
case reflect.Int16, reflect.Int8, reflect.Int32, reflect.Int64, reflect.Int: |
|
|
|
if col.SQLType.Name == core.Bool { |
|
|
|
temp += fmt.Sprintf(", %v", strconv.FormatBool(reflect.ValueOf(d).Int() > 0)) |
|
|
@@ -564,7 +568,7 @@ func (engine *Engine) dumpTables(tables []*core.Table, w io.Writer, tp ...core.D |
|
|
|
|
|
|
|
// FIXME: Hack for postgres |
|
|
|
if string(dialect.DBType()) == core.POSTGRES && table.AutoIncrColumn() != nil { |
|
|
|
_, err = io.WriteString(w, "SELECT setval('table_id_seq', COALESCE((SELECT MAX("+table.AutoIncrColumn().Name+") FROM "+dialect.Quote(table.Name)+"), 1), false);\n") |
|
|
|
_, err = io.WriteString(w, "SELECT setval('"+table.Name+"_id_seq', COALESCE((SELECT MAX("+table.AutoIncrColumn().Name+") + 1 FROM "+dialect.Quote(table.Name)+"), 1), false);\n") |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |