-
Notifications
You must be signed in to change notification settings - Fork 177
Open
Description
func createDatabase() (*gorm.DB, error) {
dbType := config.GetString("db.type")
dbAddr := config.GetString("db.addr")
dbName := config.GetString("db.database")
dbUser := config.GetString("db.user")
dbPassword := config.GetString("db.password")
dbCharset := config.GetString("db.charset")
conn := ""
switch dbType {
case "mysql":
conn = fmt.Sprintf("%s:%s@(%s)/%s?charset=%s&parseTime=True&loc=Local", dbUser, dbPassword, dbAddr, dbName, dbCharset)
case "sqlite":
conn = dbAddr
case "mssql":
return nil, errors.New("TODO:suport sqlServer")
case "postgres":
hostPort := strings.Split(dbAddr, ":")
if len(hostPort) == 2 {
return nil, errors.New("db.addr must be like this host:ip")
}
conn = fmt.Sprintf("host=%s port=%s user=%s dbname=%s password=%s sslmode=disable", hostPort[0], hostPort[1], dbUser, dbName, dbPassword)
default:
return nil, fmt.Errorf("database type %s is not supported by felix ginrbo", dbType)
}
return gorm.Open(dbType, conn)
}
其中的
if len(hostPort) == 2 {
return nil, errors.New("db.addr must be like this host:ip")
}
应该是len(hostPort) != 2
Metadata
Metadata
Assignees
Labels
No labels