精简后的项目:仅保留 api/ui 源码、文档、构建依赖
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
package drivers
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/photoview/photoview/api/utils"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// DatabaseDriverType represents the name of a database driver
|
||||
type DatabaseDriverType string
|
||||
|
||||
const (
|
||||
MYSQL DatabaseDriverType = "mysql"
|
||||
SQLITE DatabaseDriverType = "sqlite"
|
||||
POSTGRES DatabaseDriverType = "postgres"
|
||||
)
|
||||
|
||||
func DatabaseDriverFromEnv() DatabaseDriverType {
|
||||
|
||||
var driver DatabaseDriverType
|
||||
driverString := strings.ToLower(utils.EnvDatabaseDriver.GetValue())
|
||||
|
||||
switch driverString {
|
||||
case "mysql":
|
||||
driver = MYSQL
|
||||
case "sqlite":
|
||||
driver = SQLITE
|
||||
case "postgres":
|
||||
driver = POSTGRES
|
||||
default:
|
||||
driver = MYSQL
|
||||
}
|
||||
|
||||
return driver
|
||||
}
|
||||
|
||||
func (driver DatabaseDriverType) MatchDatabase(db *gorm.DB) bool {
|
||||
return db.Dialector.Name() == string(driver)
|
||||
}
|
||||
|
||||
func GetDatabaseDriverType(db *gorm.DB) (driver DatabaseDriverType) {
|
||||
switch db.Dialector.Name() {
|
||||
case "mysql":
|
||||
driver = MYSQL
|
||||
case "sqlite":
|
||||
driver = SQLITE
|
||||
case "postgres":
|
||||
driver = POSTGRES
|
||||
default:
|
||||
driver = MYSQL
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user