diff --git a/model.go b/model.go index ed0be4e..af5b5c4 100644 --- a/model.go +++ b/model.go @@ -391,6 +391,7 @@ func (m *Model) Search(w http.ResponseWriter, r *http.Request) { ModuleName: m.naming.ModuleName, TableName: m.naming.TableName, Scenario: types.ScenarioList, + Context: m.db.Statement.Context, }) if searchSchemas, err = m.schemaLookup(childCtx, m.getDB(), domainName, m.naming.ModuleName, m.naming.TableName, types.ScenarioSearch); err != nil { m.response.Failure(w, types.RequestRecordNotFound, "record not found", nil) @@ -496,6 +497,7 @@ func (m *Model) Create(w http.ResponseWriter, r *http.Request) { TableName: m.naming.TableName, Scenario: types.ScenarioCreate, Schemas: schemas, + Context: m.db.Statement.Context, }) dbSess := m.getDB().WithContext(childCtx) if err = dbSess.Transaction(func(tx *gorm.DB) (errTx error) { @@ -594,6 +596,7 @@ func (m *Model) Update(w http.ResponseWriter, r *http.Request) { Scenario: types.ScenarioUpdate, Schemas: schemas, PrimaryKeyValue: idStr, + Context: m.db.Statement.Context, }) dbSess := m.getDB().WithContext(childCtx) if err = dbSess.Transaction(func(tx *gorm.DB) (errTx error) { @@ -677,6 +680,7 @@ func (m *Model) Delete(w http.ResponseWriter, r *http.Request) { TableName: m.naming.TableName, Scenario: types.ScenarioDelete, PrimaryKeyValue: idStr, + Context: m.db.Statement.Context, }) dbSess := m.getDB().WithContext(childCtx) if err = dbSess.Transaction(func(tx *gorm.DB) (errTx error) { @@ -794,6 +798,7 @@ func (m *Model) Export(w http.ResponseWriter, r *http.Request) { ModuleName: m.naming.ModuleName, TableName: m.naming.TableName, Scenario: types.ScenarioExport, + Context: m.db.Statement.Context, }) if searchSchemas, err = m.schemaLookup(childCtx, m.getDB(), domainName, m.naming.ModuleName, m.naming.TableName, types.ScenarioSearch); err != nil { m.response.Failure(w, types.RequestRecordNotFound, "record not found", nil) @@ -1027,6 +1032,7 @@ func (m *Model) Import(w http.ResponseWriter, r *http.Request) { TableName: m.naming.TableName, Scenario: types.ScenarioImport, Schemas: schemas, + Context: m.db.Statement.Context, }) if r.Method == http.MethodGet { //下载导入模板 diff --git a/types/types.go b/types/types.go index a2bf95e..a5e207b 100644 --- a/types/types.go +++ b/types/types.go @@ -206,6 +206,7 @@ type ( Schemas []*Schema //字段schema Request *http.Request //HTTP请求结构 PrimaryKeyValue any //主键 + Context context.Context } ImportResult struct {