添加主DB的Context存储

This commit is contained in:
Yavolte 2025-07-30 13:48:03 +08:00
parent 0e4226fd84
commit 10cdd32e95
2 changed files with 7 additions and 0 deletions

View File

@ -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 {
//下载导入模板

View File

@ -206,6 +206,7 @@ type (
Schemas []*Schema //字段schema
Request *http.Request //HTTP请求结构
PrimaryKeyValue any //主键
Context context.Context
}
ImportResult struct {