From 144f4a4740e8a2fdd44e7f68eb972e652bd48e41 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Tue, 5 Aug 2025 13:09:50 -0300 Subject: [PATCH] eventstore: fix migrations annoyingly rerunning. --- eventstore/boltdb/migration.go | 2 +- eventstore/lmdb/migration.go | 6 +++--- eventstore/mmm/migration.go | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/eventstore/boltdb/migration.go b/eventstore/boltdb/migration.go index 2eabb5d..c06759c 100644 --- a/eventstore/boltdb/migration.go +++ b/eventstore/boltdb/migration.go @@ -20,7 +20,7 @@ func (b *BoltBackend) migrate() error { val := bucket.Get([]byte("version")) var version uint16 = target - if val == nil { + if val != nil { version = binary.BigEndian.Uint16(val) } diff --git a/eventstore/lmdb/migration.go b/eventstore/lmdb/migration.go index 85320ba..d5275da 100644 --- a/eventstore/lmdb/migration.go +++ b/eventstore/lmdb/migration.go @@ -14,6 +14,8 @@ const ( DB_VERSION byte = 'v' ) +const target = 2 + func (b *LMDBBackend) migrate() error { return b.lmdbEnv.Update(func(txn *lmdb.Txn) error { val, err := txn.Get(b.settingsStore, []byte("version")) @@ -21,13 +23,11 @@ func (b *LMDBBackend) migrate() error { return fmt.Errorf("failed to get db version: %w", err) } - var version uint16 = 1 + var version uint16 = target if err == nil { version = binary.BigEndian.Uint16(val) } - const target = 2 - // do the migrations in increasing steps (there is no rollback) if version < target { log.Printf("[lmdb] migration %d: reindex everything\n", target) diff --git a/eventstore/mmm/migration.go b/eventstore/mmm/migration.go index 6e3077d..6831942 100644 --- a/eventstore/mmm/migration.go +++ b/eventstore/mmm/migration.go @@ -9,6 +9,8 @@ import ( "github.com/PowerDNS/lmdb-go/lmdb" ) +const target = 2 + func (il *IndexingLayer) migrate() error { return il.lmdbEnv.Update(func(txn *lmdb.Txn) error { val, err := txn.Get(il.settings, []byte("version")) @@ -16,13 +18,11 @@ func (il *IndexingLayer) migrate() error { return fmt.Errorf("failed to get db version: %w", err) } - var version uint16 = 1 + var version uint16 = target if err == nil { version = binary.BigEndian.Uint16(val) } - const target = 2 - // do the migrations in increasing steps (there is no rollback) if version < target { log.Printf("[mmm/%s] migration %d: reindex everything\n", il.name, target)