12345678910111213141516171819202122232425262728293031323334 |
- package orm
- import "fmt"
- type Config struct {
- Driver string `json:"driver"`
- Host string `json:"host"`
- Port int `json:"port"`
- Name string `json:"name"`
- User string `json:"user"`
- Password string `json:"password"`
- Path string `json:"path"`
- }
- func ParseDSN(cfg *Config) string {
- if cfg.Driver == "sqlite3" {
- return cfg.Path
- } else if cfg.Driver == "mysql" {
- return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local",
- cfg.User,
- cfg.Password,
- cfg.Host,
- cfg.Port,
- cfg.Name)
- } else if cfg.Driver == "postgres" {
- return fmt.Sprintf("host=%s port=%d user=%s dbname=%s password=%s",
- cfg.Host,
- cfg.Port,
- cfg.User,
- cfg.Name,
- cfg.Password)
- }
- return ""
- }
|