我想在使用
Kysely 库连接数据库连接后立即在数据库连接上运行
PRAGMA journal_mode = WAL
。
这是我尝试过的:
const dialect = new SqliteDialect({
database: new SQLite(":memory:"),
onCreateConnection: async connnection => {
const pragmaQuery = sql<string>`PRAGMA journal_mode = WAL`;
connection.executeQuery(pragmaQuery.compile());
},
});
但是,
pragmaQuery.compile()
需要对数据库的引用,而我在此函数的范围内没有数据库的引用。 (我在下面实例化了 db
,它需要 dialect
作为参数。)
我在使用 DatabaseConnection 接口时遇到问题,因为它的可调用方法非常少。
这对我有用:
const dialect = new SqliteDialect({
database: new SQLite(":memory:")
});
export const db = new Kysely<Database>({
dialect
})
sql`PRAGMA journal_mode=WAL`.execute(db)