github.com/status-im/status-go@v1.1.0/walletdatabase/database.go (about) 1 package walletdatabase 2 3 import ( 4 "database/sql" 5 6 "github.com/status-im/status-go/sqlite" 7 "github.com/status-im/status-go/walletdatabase/migrations" 8 ) 9 10 type DbInitializer struct { 11 } 12 13 func (a DbInitializer) Initialize(path, password string, kdfIterationsNumber int) (*sql.DB, error) { 14 return InitializeDB(path, password, kdfIterationsNumber) 15 } 16 17 var walletCustomSteps = []*sqlite.PostStep{} 18 19 func doMigration(db *sql.DB) error { 20 // Run all the new migrations 21 return migrations.Migrate(db, walletCustomSteps) 22 } 23 24 // InitializeDB creates db file at a given path and applies migrations. 25 func InitializeDB(path, password string, kdfIterationsNumber int) (*sql.DB, error) { 26 db, err := sqlite.OpenDB(path, password, kdfIterationsNumber) 27 if err != nil { 28 return nil, err 29 } 30 31 err = doMigration(db) 32 if err != nil { 33 return nil, err 34 } 35 36 return db, nil 37 }