* Format boolean values to true/false even when it is returned as byte-slice, * Fix the sequence generation, the proper sequence name is used (instead of 'table_id_seq'), and fix the next value be max+1 always
This commit is contained in:
parent
19e651c0dd
commit
c2dcb35148
3 changed files with 9 additions and 5 deletions
4
Gopkg.lock
generated
4
Gopkg.lock
generated
|
@ -406,11 +406,11 @@
|
||||||
version = "v0.6.0"
|
version = "v0.6.0"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
digest = "1:d366480c27ab51b3f7e995f25503063e7a6ebc7feb269df2499c33471f35cd62"
|
digest = "1:f3015325cb2a17a6ff838358574921a343a0295059b7eb5bec07187131befc0b"
|
||||||
name = "github.com/go-xorm/xorm"
|
name = "github.com/go-xorm/xorm"
|
||||||
packages = ["."]
|
packages = ["."]
|
||||||
pruneopts = "NUT"
|
pruneopts = "NUT"
|
||||||
revision = "1cd2662be938bfee0e34af92fe448513e0560fb1"
|
revision = "a6300f2a45e05a8f75f00a1d6188049fe7851915"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
branch = "master"
|
branch = "master"
|
||||||
|
|
|
@ -38,7 +38,7 @@ ignored = ["google.golang.org/appengine*"]
|
||||||
|
|
||||||
[[override]]
|
[[override]]
|
||||||
name = "github.com/go-xorm/xorm"
|
name = "github.com/go-xorm/xorm"
|
||||||
revision = "1cd2662be938bfee0e34af92fe448513e0560fb1"
|
revision = "a6300f2a45e05a8f75f00a1d6188049fe7851915"
|
||||||
|
|
||||||
[[override]]
|
[[override]]
|
||||||
name = "github.com/go-xorm/builder"
|
name = "github.com/go-xorm/builder"
|
||||||
|
|
8
vendor/github.com/go-xorm/xorm/engine.go
generated
vendored
8
vendor/github.com/go-xorm/xorm/engine.go
generated
vendored
|
@ -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:
|
||||||
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:
|
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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue