bug fix
This commit is contained in:
parent
dd06d9a4cf
commit
a7f6aa92d3
14
session.go
14
session.go
|
@ -337,15 +337,21 @@ func (session *Session) CreateTable(bean interface{}) error {
|
||||||
sql := statement.genCreateSQL()
|
sql := statement.genCreateSQL()
|
||||||
_, err := session.Exec(sql)
|
_, err := session.Exec(sql)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
sql = statement.genIndexSQL()
|
sqls := statement.genIndexSQL()
|
||||||
if len(sql) > 0 {
|
for _, sql := range sqls {
|
||||||
_, err = session.Exec(sql)
|
_, err = session.Exec(sql)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
sql = statement.genUniqueSQL()
|
sqls := statement.genUniqueSQL()
|
||||||
if len(sql) > 0 {
|
for _, sql := range sqls {
|
||||||
_, err = session.Exec(sql)
|
_, err = session.Exec(sql)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
|
18
statement.go
18
statement.go
|
@ -241,22 +241,24 @@ func (statement *Statement) genCreateSQL() string {
|
||||||
return sql
|
return sql
|
||||||
}
|
}
|
||||||
|
|
||||||
func (statement *Statement) genIndexSQL() string {
|
func (statement *Statement) genIndexSQL() []string {
|
||||||
var sql string = ""
|
var sqls []string = make([]string, 0)
|
||||||
for indexName, cols := range statement.RefTable.Indexes {
|
for indexName, cols := range statement.RefTable.Indexes {
|
||||||
sql += fmt.Sprintf("CREATE INDEX IDX_%v_%v ON %v (%v);", statement.TableName(), indexName,
|
sql := fmt.Sprintf("CREATE INDEX IDX_%v_%v ON %v (%v);", statement.TableName(), indexName,
|
||||||
statement.TableName(), strings.Join(cols, ","))
|
statement.TableName(), strings.Join(cols, ","))
|
||||||
|
sqls = append(sqls, sql)
|
||||||
}
|
}
|
||||||
return sql
|
return sqls
|
||||||
}
|
}
|
||||||
|
|
||||||
func (statement *Statement) genUniqueSQL() string {
|
func (statement *Statement) genUniqueSQL() []string {
|
||||||
var sql string = ""
|
var sqls []string = make([]string, 0)
|
||||||
for indexName, cols := range statement.RefTable.Uniques {
|
for indexName, cols := range statement.RefTable.Uniques {
|
||||||
sql += fmt.Sprintf("CREATE UNIQUE INDEX UQE_%v_%v ON %v (%v);", statement.TableName(), indexName,
|
sql := fmt.Sprintf("CREATE UNIQUE INDEX UQE_%v_%v ON %v (%v);", statement.TableName(), indexName,
|
||||||
statement.TableName(), strings.Join(cols, ","))
|
statement.TableName(), strings.Join(cols, ","))
|
||||||
|
sqls = append(sqls, sql)
|
||||||
}
|
}
|
||||||
return sql
|
return sqls
|
||||||
}
|
}
|
||||||
|
|
||||||
func (statement *Statement) genDropSQL() string {
|
func (statement *Statement) genDropSQL() string {
|
||||||
|
|
Loading…
Reference in New Issue