diff --git a/node_modules/drizzle-kit/bin.cjs b/node_modules/drizzle-kit/bin.cjs index 9b92321..d34699f 100755 --- a/node_modules/drizzle-kit/bin.cjs +++ b/node_modules/drizzle-kit/bin.cjs @@ -60506,8 +60506,38 @@ var init_studio = __esm({ const { driver: driver2, dbCredentials } = config; const customDefaults = getCustomDefaults(sqliteSchema3); if (driver2 === "d1") { + const { wranglerConfigPath, dbName } = dbCredentials; + const execute = async(params) => { + const { sql, preparedParams } = params; + let command = sql.replace(/\n/g, ""); + + // Not ideal, needs better implementation ... but works as proof of concept: + if (preparedParams && preparedParams.length) { + for (let i = 0; i < preparedParams.length; i++) { + command = command.replace('?', `${preparedParams[i]}`); + } + } + try { + const response = await $`NO_D1_WARNING=true wrangler d1 execute ${dbName} --config=${wranglerConfigPath} --command=${command} --remote --json`; + return JSON.parse(response.stdout)[0].results; + } catch (e) { + try { + await $`NO_D1_WARNING=true wrangler d1 execute ${dbName} --config=${wranglerConfigPath} --command=${command} --remote`; + } catch (e1) { + throw new Error(e1.stdout); + } + throw e; + } + }; + const Database = await import("better-sqlite3"); + const client = new Database.default(); const proxy = async (params) => { - throw new Error("Proxy is not implemented for D1"); + const preparedParams = prepareParams(params.params); + const result = await execute({ + sql: params.sql, + preparedParams + }); + return result; }; return { dialect: "sqlite",