fix database issues
This commit is contained in:
33
providers/database/database.go
Normal file
33
providers/database/database.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"atom/container"
|
||||
"atom/providers/config"
|
||||
"errors"
|
||||
"log"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
const (
|
||||
DriverMySQL = "mysql"
|
||||
DriverSQLite = "sqlite"
|
||||
DriverPostgres = "postgres"
|
||||
DriverSQLServer = "sqlserver"
|
||||
)
|
||||
|
||||
func init() {
|
||||
if err := container.Container.Provide(NewDatabase); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func NewDatabase(config *config.Config) (*gorm.DB, error) {
|
||||
switch config.Database.Driver {
|
||||
case DriverMySQL:
|
||||
return NewMySQL(config.Database.MySQL)
|
||||
case DriverSQLite:
|
||||
return NewSQLite(config.Database.SQLite)
|
||||
}
|
||||
return nil, errors.New("failed to connect to db")
|
||||
}
|
||||
Reference in New Issue
Block a user