@ -527,7 +527,11 @@ func (engine *Engine) dumpTables(tables []*core.Table, w io.Writer, tp ...core.D
} else if col . SQLType . IsNumeric ( ) {
} else if col . SQLType . IsNumeric ( ) {
switch reflect . TypeOf ( d ) . Kind ( ) {
switch reflect . TypeOf ( d ) . Kind ( ) {
case reflect . Slice :
case reflect . Slice :
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 ) ) )
temp += fmt . Sprintf ( ", %s" , string ( d . ( [ ] byte ) ) )
}
case reflect . Int16 , reflect . Int8 , reflect . Int32 , reflect . Int64 , reflect . Int :
case reflect . Int16 , reflect . Int8 , reflect . Int32 , reflect . Int64 , reflect . Int :
if col . SQLType . Name == core . Bool {
if col . SQLType . Name == core . Bool {
temp += fmt . Sprintf ( ", %v" , strconv . FormatBool ( reflect . ValueOf ( d ) . Int ( ) > 0 ) )
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
// FIXME: Hack for postgres
if string ( dialect . DBType ( ) ) == core . POSTGRES && table . AutoIncrColumn ( ) != nil {
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 {
if err != nil {
return err
return err
}
}