@@ -217,14 +217,24 @@ func NewDbFromConfig(c *Config, logger *logging.Logger, connectorCallbacks Retry
217217 addr = utils .JoinHostPort (c .Host , port )
218218 }
219219 db = sqlx .NewDb (sql .OpenDB (NewConnector (connector , logger , connectorCallbacks )), PostgreSQL )
220+ case "sqlite" :
221+ addr = c .Database
222+
223+ liteDb , err := sql .Open (SQLite , fmt .Sprintf ("file:%s?cache=shared" , c .Database ))
224+ if err != nil {
225+ return nil , errors .Wrap (err , "can't open sqlite database" )
226+ }
227+ db = sqlx .NewDb (liteDb , SQLite )
220228 default :
221229 return nil , unknownDbType (c .Type )
222230 }
223231
224- if c .TlsOptions .Enable {
225- addr = fmt .Sprintf ("%s+tls://%s@%s/%s" , c .Type , c .User , addr , c .Database )
226- } else {
227- addr = fmt .Sprintf ("%s://%s@%s/%s" , c .Type , c .User , addr , c .Database )
232+ if c .Type != "sqlite" {
233+ if c .TlsOptions .Enable {
234+ addr = fmt .Sprintf ("%s+tls://%s@%s/%s" , c .Type , c .User , addr , c .Database )
235+ } else {
236+ addr = fmt .Sprintf ("%s://%s@%s/%s" , c .Type , c .User , addr , c .Database )
237+ }
228238 }
229239
230240 db .SetMaxIdleConns (c .Options .MaxConnections / 3 )
0 commit comments