mirror of https://github.com/status-im/fathom.git
option to set sslmode param in postgres & mysql connections using FATHOM_DATABASE_SSLMODE. closes #93 closes #90 closes #80
This commit is contained in:
parent
f2683d1f0c
commit
a6f9b385a3
|
@ -11,6 +11,7 @@ type Config struct {
|
|||
User string `default:""`
|
||||
Password string `default:""`
|
||||
Name string `default:"fathom.db"`
|
||||
SSLMode string `default:""`
|
||||
}
|
||||
|
||||
func (c *Config) DSN() string {
|
||||
|
@ -19,6 +20,10 @@ func (c *Config) DSN() string {
|
|||
switch c.Driver {
|
||||
case "postgres":
|
||||
dsn = fmt.Sprintf("host=%s user=%s password=%s dbname=%s", c.Host, c.User, c.Password, c.Name)
|
||||
|
||||
if c.SSLMode != "" {
|
||||
dsn = dsn + fmt.Sprintf(" sslmode=%s", c.SSLMode)
|
||||
}
|
||||
case "mysql":
|
||||
mc := mysql.NewConfig()
|
||||
mc.User = c.User
|
||||
|
@ -30,6 +35,9 @@ func (c *Config) DSN() string {
|
|||
"parseTime": "true",
|
||||
"loc": "Local",
|
||||
}
|
||||
if c.SSLMode != "" {
|
||||
mc.Params["tls"] = c.SSLMode
|
||||
}
|
||||
dsn = mc.FormatDSN()
|
||||
case "sqlite3":
|
||||
dsn = c.Name + "?_loc=auto"
|
||||
|
|
Loading…
Reference in New Issue