在 Kysely 中连接数据库后设置 PRAGMA

问题描述 投票:0回答:1

我想在使用

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 接口时遇到问题,因为它的可调用方法非常少。

node.js sqlite kysely
1个回答
0
投票

这对我有用:

const dialect = new SqliteDialect({
    database: new SQLite(":memory:")
});

export const db = new Kysely<Database>({
    dialect
})

sql`PRAGMA journal_mode=WAL`.execute(db)
© www.soinside.com 2019 - 2024. All rights reserved.