Files
stash-box/pkg/database/database.go

32 lines
612 B
Go

package database
import (
"github.com/jmoiron/sqlx"
)
var appSchemaVersion uint = 37
var databaseProviders map[string]databaseProvider
type databaseProvider interface {
Open(path string) *sqlx.DB
}
func Initialize(provider string, databasePath string) *sqlx.DB {
p := databaseProviders[provider]
if p == nil {
panic("No database provider found for " + provider)
}
db := p.Open(databasePath)
return db
}
func registerProvider(name string, provider databaseProvider) {
if databaseProviders == nil {
databaseProviders = make(map[string]databaseProvider)
}
databaseProviders[name] = provider
}