kysely dialect for Tauri
, using official sql plugin, support MySQL, PostgreSQL and SQLite
pnpm add kysely kysely-dialect-tauri @tauri-apps/plugin-sql
import { Kysely } from 'kysely'
import Database from '@tauri-apps/plugin-sql'
import { appDataDir } from '@tauri-apps/api/path'
const kysely = new Kysely<DB>({
dialect: new TauriSqlDialect({
type: 'sqlite',
database: prefix => Database.load(`${prefix}${await appDataDir()}test.db`)
}),
})
export interface TauriSqlDialectConfig<T extends 'sqlite' | 'mysql' | 'postgres'> {
database: Promisable<TauriSqlDB> | ((prefix: T extends 'sqlite' ? `${T}:` : `${T}://`) => Promisable<TauriSqlDB>)
type: T
onCreateConnection?: (connection: DatabaseConnection) => Promisable<void>
}