bug fxied for Sync2 when share the same struct between different tables
This commit is contained in:
parent
1045aa020f
commit
bfb5784ec5
12
session.go
12
session.go
|
@ -523,7 +523,8 @@ func (session *Session) Exec(sqlStr string, args ...interface{}) (sql.Result, er
|
||||||
|
|
||||||
// this function create a table according a bean
|
// this function create a table according a bean
|
||||||
func (session *Session) CreateTable(bean interface{}) error {
|
func (session *Session) CreateTable(bean interface{}) error {
|
||||||
session.Statement.RefTable = session.Engine.TableInfo(bean)
|
v := rValue(bean)
|
||||||
|
session.Statement.RefTable = session.Engine.mapType(v)
|
||||||
|
|
||||||
defer session.resetStatement()
|
defer session.resetStatement()
|
||||||
if session.IsAutoClose {
|
if session.IsAutoClose {
|
||||||
|
@ -535,7 +536,8 @@ func (session *Session) CreateTable(bean interface{}) error {
|
||||||
|
|
||||||
// create indexes
|
// create indexes
|
||||||
func (session *Session) CreateIndexes(bean interface{}) error {
|
func (session *Session) CreateIndexes(bean interface{}) error {
|
||||||
session.Statement.RefTable = session.Engine.TableInfo(bean)
|
v := rValue(bean)
|
||||||
|
session.Statement.RefTable = session.Engine.mapType(v)
|
||||||
|
|
||||||
defer session.resetStatement()
|
defer session.resetStatement()
|
||||||
if session.IsAutoClose {
|
if session.IsAutoClose {
|
||||||
|
@ -554,7 +556,8 @@ func (session *Session) CreateIndexes(bean interface{}) error {
|
||||||
|
|
||||||
// create uniques
|
// create uniques
|
||||||
func (session *Session) CreateUniques(bean interface{}) error {
|
func (session *Session) CreateUniques(bean interface{}) error {
|
||||||
session.Statement.RefTable = session.Engine.TableInfo(bean)
|
v := rValue(bean)
|
||||||
|
session.Statement.RefTable = session.Engine.mapType(v)
|
||||||
|
|
||||||
defer session.resetStatement()
|
defer session.resetStatement()
|
||||||
if session.IsAutoClose {
|
if session.IsAutoClose {
|
||||||
|
@ -4036,7 +4039,8 @@ func (s *Session) Sync2(beans ...interface{}) error {
|
||||||
structTables := make([]*core.Table, 0)
|
structTables := make([]*core.Table, 0)
|
||||||
|
|
||||||
for _, bean := range beans {
|
for _, bean := range beans {
|
||||||
table := engine.TableInfo(bean)
|
v := rValue(bean)
|
||||||
|
table := engine.mapType(v)
|
||||||
structTables = append(structTables, table)
|
structTables = append(structTables, table)
|
||||||
|
|
||||||
var oriTable *core.Table
|
var oriTable *core.Table
|
||||||
|
|
|
@ -857,7 +857,7 @@ func (statement *Statement) Cols(columns ...string) *Statement {
|
||||||
}
|
}
|
||||||
|
|
||||||
newColumns := statement.col2NewColsWithQuote(columns...)
|
newColumns := statement.col2NewColsWithQuote(columns...)
|
||||||
fmt.Println("=====", columns, newColumns, cols)
|
//fmt.Println("=====", columns, newColumns, cols)
|
||||||
statement.ColumnStr = strings.Join(newColumns, ", ")
|
statement.ColumnStr = strings.Join(newColumns, ", ")
|
||||||
statement.ColumnStr = strings.Replace(statement.ColumnStr, statement.Engine.quote("*"), "*", -1)
|
statement.ColumnStr = strings.Replace(statement.ColumnStr, statement.Engine.quote("*"), "*", -1)
|
||||||
return statement
|
return statement
|
||||||
|
|
Loading…
Reference in New Issue