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()
|
||||
_, err := session.Exec(sql)
|
||||
if err == nil {
|
||||
sql = statement.genIndexSQL()
|
||||
if len(sql) > 0 {
|
||||
sqls := statement.genIndexSQL()
|
||||
for _, sql := range sqls {
|
||||
_, err = session.Exec(sql)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
if err == nil {
|
||||
sql = statement.genUniqueSQL()
|
||||
if len(sql) > 0 {
|
||||
sqls := statement.genUniqueSQL()
|
||||
for _, sql := range sqls {
|
||||
_, err = session.Exec(sql)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
return err
|
||||
|
|
18
statement.go
18
statement.go
|
@ -241,22 +241,24 @@ func (statement *Statement) genCreateSQL() string {
|
|||
return sql
|
||||
}
|
||||
|
||||
func (statement *Statement) genIndexSQL() string {
|
||||
var sql string = ""
|
||||
func (statement *Statement) genIndexSQL() []string {
|
||||
var sqls []string = make([]string, 0)
|
||||
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, ","))
|
||||
sqls = append(sqls, sql)
|
||||
}
|
||||
return sql
|
||||
return sqls
|
||||
}
|
||||
|
||||
func (statement *Statement) genUniqueSQL() string {
|
||||
var sql string = ""
|
||||
func (statement *Statement) genUniqueSQL() []string {
|
||||
var sqls []string = make([]string, 0)
|
||||
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, ","))
|
||||
sqls = append(sqls, sql)
|
||||
}
|
||||
return sql
|
||||
return sqls
|
||||
}
|
||||
|
||||
func (statement *Statement) genDropSQL() string {
|
||||
|
|
Loading…
Reference in New Issue