github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/db/kv/migration.go (about) 1 package kv 2 3 import ( 4 "context" 5 6 bolt "go.etcd.io/bbolt" 7 ) 8 9 var migrationCompleted = []byte("done") 10 11 type migration func(*bolt.Tx) error 12 13 var migrations = []migration{ 14 migrateArchivedIndex, 15 migrateBlockSlotIndex, 16 } 17 18 // RunMigrations defined in the migrations array. 19 func (s *Store) RunMigrations(ctx context.Context) error { 20 for _, m := range migrations { 21 if ctx.Err() != nil { 22 return ctx.Err() 23 } 24 25 if err := s.db.Update(m); err != nil { 26 return err 27 } 28 } 29 return nil 30 }