A read-write transaction opens a consistent database operation that may inspect persistent data and modify it. In BoltDB, Update supplies the transaction through a callback; changes such as creating buckets or storing values occur inside that callback and return an error. section 11.9
Creating a bucket
func (t *TaskStore) CreateBucket() error { return t.Db.Update(func(tx *bolt.Tx) error { _, err := tx.CreateBucket([]byte(t.Bucket)) return err }) }
