package adaptertest import ( "database/sql" "github.com/stretchr/testify/require" "github.com/uptrace/bun" "github.com/uptrace/bun/dialect/sqlitedialect" "github.com/uptrace/bun/driver/sqliteshim" ) const sqliteMaxIdleConns = 1000 // NewBunDBSQLite initializes a new instance of *bun.DB, which is ready for use (all required migrations are applied). // Data is stored in memory (https://www.sqlite.org/inmemorydb.html). func NewBunDBSQLite(tb TestingTB) *bun.DB { sqldb, err := sql.Open(sqliteshim.ShimName, "file::memory:?cache=shared") require.NoError(tb, err) sqldb.SetMaxIdleConns(sqliteMaxIdleConns) sqldb.SetConnMaxLifetime(0) db := bun.NewDB(sqldb, sqlitedialect.New()) runMigrations(tb, db) return db }