Skip to content

Commit 1d8982d

Browse files
committed
Add support for sqlite
1 parent 0b95298 commit 1d8982d

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

database/db.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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)

database/driver.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
const (
1616
MySQL string = "mysql"
1717
PostgreSQL string = "postgres"
18+
SQLite string = "sqlite"
1819
)
1920

2021
// OnInitConnFunc can be used to execute post Connect() arbitrary actions.

0 commit comments

Comments
 (0)