|
|
@@ -536,7 +536,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))
|
|
|
@@ -573,7 +577,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
|
|
|
}
|