From 382ceb120fc009c2cbeab07529ec8a135a00ee73 Mon Sep 17 00:00:00 2001 From: Huakun Shen Date: Tue, 25 Mar 2025 04:04:59 -0400 Subject: [PATCH] fix: sqlite select command --- apps/desktop/src/lib/orm/database.ts | 17 ++++++++-------- apps/desktop/src/routes/app/+page.svelte | 26 +++++++++++++++--------- packages/db/src/lib.rs | 10 +++++---- 3 files changed, 30 insertions(+), 23 deletions(-) diff --git a/apps/desktop/src/lib/orm/database.ts b/apps/desktop/src/lib/orm/database.ts index aeb3cb5..f0d1a9a 100644 --- a/apps/desktop/src/lib/orm/database.ts +++ b/apps/desktop/src/lib/orm/database.ts @@ -1,4 +1,5 @@ import * as schema from "@kksh/drizzle/schema" +import * as dbCmd from "@kunkunapi/src/commands/db" import Database from "@tauri-apps/plugin-sql" import { drizzle } from "drizzle-orm/sqlite-proxy" @@ -14,28 +15,27 @@ export type SelectQueryResult = { */ // export const sqlite = await Database.load("sqlite:test.db"); -export async function getDb() { - return await Database.load("sqlite:test.db") -} - /** * The drizzle database instance. */ export const db = drizzle( async (sql, params, method) => { - const sqlite = await getDb() let rows: any = [] let results = [] - + console.log({ + sql, + params, + method + }) // If the query is a SELECT, use the select method if (isSelectQuery(sql)) { - rows = await sqlite.select(sql, params).catch((e) => { + rows = await dbCmd.select(sql, params).catch((e) => { console.error("SQL Error:", e) return [] }) } else { // Otherwise, use the execute method - rows = await sqlite.execute(sql, params).catch((e) => { + rows = await dbCmd.execute(sql, params).catch((e) => { console.error("SQL Error:", e) return [] }) @@ -48,7 +48,6 @@ export const db = drizzle( // If the method is "all", return all rows results = method === "all" ? rows : rows[0] - await sqlite.close() return { rows: results } }, // Pass the schema to the drizzle instance diff --git a/apps/desktop/src/routes/app/+page.svelte b/apps/desktop/src/routes/app/+page.svelte index cb978bb..660f844 100644 --- a/apps/desktop/src/routes/app/+page.svelte +++ b/apps/desktop/src/routes/app/+page.svelte @@ -5,6 +5,7 @@ import { systemCommands, systemCommandsFiltered } from "@/cmds/system" import AppsCmds from "@/components/main/AppsCmds.svelte" import { i18n } from "@/i18n" + import { db } from "@/orm/database" import * as m from "@/paraglide/messages" import { appConfig, @@ -31,7 +32,6 @@ SystemCmds } from "@kksh/ui/main" import { cn } from "@kksh/ui/utils" - import * as db from "@kunkunapi/src/commands/db" import { getCurrentWebviewWindow } from "@tauri-apps/api/webviewWindow" import { getCurrentWindow, Window } from "@tauri-apps/api/window" import { platform } from "@tauri-apps/plugin-os" @@ -114,15 +114,21 @@