The loadTableInfo function supports passing the context.
This commit is contained in:
parent
f33221df74
commit
0a44021ab8
|
@ -360,15 +360,15 @@ func (engine *Engine) NoAutoCondition(no ...bool) *Session {
|
||||||
return session.NoAutoCondition(no...)
|
return session.NoAutoCondition(no...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (engine *Engine) loadTableInfo(table *schemas.Table) error {
|
func (engine *Engine) loadTableInfo(ctx context.Context, table *schemas.Table) error {
|
||||||
colSeq, cols, err := engine.dialect.GetColumns(engine.db, engine.defaultContext, table.Name)
|
colSeq, cols, err := engine.dialect.GetColumns(engine.db, ctx, table.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
for _, name := range colSeq {
|
for _, name := range colSeq {
|
||||||
table.AddColumn(cols[name])
|
table.AddColumn(cols[name])
|
||||||
}
|
}
|
||||||
indexes, err := engine.dialect.GetIndexes(engine.db, engine.defaultContext, table.Name)
|
indexes, err := engine.dialect.GetIndexes(engine.db, ctx, table.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -404,7 +404,7 @@ func (engine *Engine) DBMetas() ([]*schemas.Table, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, table := range tables {
|
for _, table := range tables {
|
||||||
if err = engine.loadTableInfo(table); err != nil {
|
if err = engine.loadTableInfo(engine.defaultContext, table); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2
sync.go
2
sync.go
|
@ -116,7 +116,7 @@ func (session *Session) SyncWithOptions(opts SyncOptions, beans ...interface{})
|
||||||
}
|
}
|
||||||
|
|
||||||
// this will modify an old table
|
// this will modify an old table
|
||||||
if err = engine.loadTableInfo(oriTable); err != nil {
|
if err = engine.loadTableInfo(session.ctx, oriTable); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue