diff --git a/dbui/dbui.go b/dbui/dbui.go index 78668f3..5a1ccf4 100644 --- a/dbui/dbui.go +++ b/dbui/dbui.go @@ -413,41 +413,3 @@ func isText(b []byte) bool { } return true } - -// MigrateMsgpack converts JSON values to msgpack in the five buckets that the bot -// reads and writes as structured data. It is called once on startup before any -// goroutine reads or writes them. Each value that begins with '{' (a JSON object) -// and passes json.Unmarshal is re-encoded with msgpack. Values already in msgpack -// format (binary, not starting with '{') are left alone, so a second run is a -// no-op. -func MigrateMsgpack(db *bbolt.DB) error { - var buckets = []string{"blocks-stat", "market", "miners-stat", "rates", "watches"} - var total int - for _, name := range buckets { - var count int - var err = db.Update(func(tx *bbolt.Tx) error { - var b = tx.Bucket([]byte(name)) - if b == nil { return nil } // bucket doesn't exist yet — nothing to migrate - var c = b.Cursor() - for k, v := c.First(); k != nil; k, v = c.Next() { - if len(v) == 0 || v[0] != '{' { continue } - var val any - if json.Unmarshal(v, &val) != nil { continue } - var encoded, merr = msgpack.Marshal(val) - if merr != nil { return merr } - if err := b.Put(k, encoded); err != nil { return err } - count++ - } - return nil - }) - if err != nil { return err } - if count > 0 { - logging.Info("database UI: migrated %s: %d keys JSON → msgpack", name, count) - total += count - } - } - if total > 0 { - logging.Info("database UI: migration complete: %d keys total converted", total) - } - return nil -} diff --git a/main.go b/main.go index e7e6acf..8f36f69 100644 --- a/main.go +++ b/main.go @@ -72,9 +72,6 @@ func main() { if err = openDB(*dbPath); err != nil { logging.Fatal("open database: %v", err) } - if err = dbui.MigrateMsgpack(db); err != nil { - logging.Fatal("msgpack migration: %v", err) - } rates.Start() if *dbuiListen != "" { dbuiSrv = dbui.Start(db, *dbuiListen) diff --git a/tools/dbui/dbui b/tools/dbui/dbui deleted file mode 100755 index 2f6ddbb..0000000 Binary files a/tools/dbui/dbui and /dev/null differ