mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-05 17:22:18 +00:00
31 lines
485 B
Go
31 lines
485 B
Go
|
package kv
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
|
||
|
bolt "go.etcd.io/bbolt"
|
||
|
)
|
||
|
|
||
|
var migrationCompleted = []byte("done")
|
||
|
|
||
|
type migration func(*bolt.Tx) error
|
||
|
|
||
|
var migrations = []migration{
|
||
|
migrateArchivedIndex,
|
||
|
migrateBlockSlotIndex,
|
||
|
}
|
||
|
|
||
|
// RunMigrations defined in the migrations array.
|
||
|
func (s *Store) RunMigrations(ctx context.Context) error {
|
||
|
for _, m := range migrations {
|
||
|
if ctx.Err() != nil {
|
||
|
return ctx.Err()
|
||
|
}
|
||
|
|
||
|
if err := s.db.Update(m); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
return nil
|
||
|
}
|