MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / newDB

Function newDB

core/middleware/operation.go:300–325  ·  view source on GitHub ↗
(pathItem string)

Source from the content-addressed store, hash-verified

298}
299
300func newDB(pathItem string) (*gorm.DB, error) {
301 dbFile := ""
302 switch {
303 case strings.HasPrefix(pathItem, "/core/xpack") || strings.HasPrefix(pathItem, "/xpack"):
304 dbFile = path.Join(global.CONF.Base.InstallDir, "1panel/db/xpack.db")
305 case strings.HasPrefix(pathItem, "/core/enterprise") || strings.HasPrefix(pathItem, "/enterprise"):
306 dbFile = path.Join(global.CONF.Base.InstallDir, "1panel/db/enterprise.db")
307 case strings.HasPrefix(pathItem, "/core"):
308 dbFile = path.Join(global.CONF.Base.InstallDir, "1panel/db/core.db")
309 default:
310 dbFile = path.Join(global.CONF.Base.InstallDir, "1panel/db/agent.db")
311 }
312
313 db, _ := gorm.Open(sqlite.Open(dbFile), &gorm.Config{
314 DisableForeignKeyConstraintWhenMigrating: true,
315 })
316 sqlDB, err := db.DB()
317 if err != nil {
318 return nil, err
319 }
320 sqlDB.SetMaxOpenConns(4)
321 sqlDB.SetMaxIdleConns(1)
322 sqlDB.SetConnMaxIdleTime(15 * time.Minute)
323 sqlDB.SetConnMaxLifetime(time.Hour)
324 return db, nil
325}
326
327func closeDB(db *gorm.DB) {
328 sqlDB, err := db.DB()

Callers 1

OperationLogFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected