diff --git a/pkg/database/database.go b/pkg/database/database.go index 92382d9..3c1262f 100644 --- a/pkg/database/database.go +++ b/pkg/database/database.go @@ -32,6 +32,18 @@ func New(dbPath ...string) error { return err } + tx, err := db.Begin(true) + if err != nil { + return err + } + + if _, err := tx.CreateBucketIfNotExists([]byte("led")); err != nil { + tx.Rollback() + return err + } + + tx.Commit() + return nil } diff --git a/route/routes/routes.go b/route/routes/routes.go index e43cc9a..920c74c 100644 --- a/route/routes/routes.go +++ b/route/routes/routes.go @@ -2,6 +2,7 @@ package routes import ( "encoding/json" + "errors" "fmt" "rpi-ci-led/pkg/database" @@ -27,9 +28,9 @@ func SetRoutes(e *gin.Engine) { var list []string = make([]string, 0) db := database.Get() err := db.View(func(tx *bbolt.Tx) error { - bucket, err := tx.CreateBucketIfNotExists([]byte("led")) - if err != nil { - return err + bucket := tx.Bucket([]byte("led")) + if bucket == nil { + return errors.New("bucket not init") } if b := bucket.Get([]byte("project")); b == nil { fmt.Println("b ::: ", b)