registered custom cgo sqlite driver
This commit is contained in:
parent
dcdf43f0fc
commit
b1307c9041
|
@ -19,7 +19,7 @@ func init() {
|
||||||
// Note 2: the busy_timeout pragma must be first because
|
// Note 2: the busy_timeout pragma must be first because
|
||||||
// the connection needs to be set to block on busy before WAL mode
|
// the connection needs to be set to block on busy before WAL mode
|
||||||
// is set in case it hasn't been already set by another connection.
|
// is set in case it hasn't been already set by another connection.
|
||||||
sql.Register("sqlite3_with_connect_hook",
|
sql.Register("pb_sqlite3",
|
||||||
&sqlite3.SQLiteDriver{
|
&sqlite3.SQLiteDriver{
|
||||||
ConnectHook: func(conn *sqlite3.SQLiteConn) error {
|
ConnectHook: func(conn *sqlite3.SQLiteConn) error {
|
||||||
_, err := conn.Exec(`
|
_, err := conn.Exec(`
|
||||||
|
@ -34,10 +34,12 @@ func init() {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
dbx.BuilderFuncMap["pb_sqlite3"] = dbx.BuilderFuncMap["sqlite3"]
|
||||||
}
|
}
|
||||||
|
|
||||||
func connectDB(dbPath string) (*dbx.DB, error) {
|
func connectDB(dbPath string) (*dbx.DB, error) {
|
||||||
db, err := dbx.Open("sqlite3_with_connect_hook", dbPath)
|
db, err := dbx.Open("pb_sqlite3", dbPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,6 +105,14 @@ func NewTestApp(optTestDataDir ...string) (*TestApp, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ensure that the Dao and DB configurations are properly loaded
|
||||||
|
if _, err := app.Dao().DB().NewQuery("Select 1").Execute(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if _, err := app.LogsDao().DB().NewQuery("Select 1").Execute(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
// force disable request logs because the logs db call execute in a separate
|
// force disable request logs because the logs db call execute in a separate
|
||||||
// go routine and it is possible to panic due to earlier api test completion.
|
// go routine and it is possible to panic due to earlier api test completion.
|
||||||
app.Settings().Logs.MaxDays = 0
|
app.Settings().Logs.MaxDays = 0
|
||||||
|
|
Loading…
Reference in New Issue