drizzle-kit 1.0.0-beta.3-36e9b9e → 1.0.0-beta.3-d4ff358

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/api-mysql.js CHANGED
@@ -17324,7 +17324,8 @@ var init_schemaValidator = __esm({
17324
17324
  "singlestore",
17325
17325
  "gel",
17326
17326
  "mssql",
17327
- "cockroach"
17327
+ "cockroach",
17328
+ "duckdb"
17328
17329
  ];
17329
17330
  dialect3 = enumType(dialects);
17330
17331
  }
@@ -139534,6 +139535,7 @@ __export(connections_exports, {
139534
139535
  connectToSQLite: () => connectToSQLite,
139535
139536
  connectToSingleStore: () => connectToSingleStore,
139536
139537
  prepareCockroach: () => prepareCockroach,
139538
+ prepareDuckDb: () => prepareDuckDb,
139537
139539
  prepareGelDB: () => prepareGelDB,
139538
139540
  preparePostgresDB: () => preparePostgresDB
139539
139541
  });
@@ -139550,7 +139552,7 @@ function parseMssqlUrl(url) {
139550
139552
  }
139551
139553
  };
139552
139554
  }
139553
- var import_net, ms, normalisePGliteUrl, preparePostgresDB, prepareCockroach, prepareGelDB, parseSingleStoreCredentials, connectToSingleStore, parseMysqlCredentials, connectToMySQL, parseMssqlCredentials, connectToMsSQL, prepareSqliteParams, preparePGliteParams, connectToSQLite, connectToLibSQL;
139555
+ var import_net, ms, normalisePGliteUrl, preparePostgresDB, prepareDuckDb, prepareCockroach, prepareGelDB, parseSingleStoreCredentials, connectToSingleStore, parseMysqlCredentials, connectToMySQL, parseMssqlCredentials, connectToMsSQL, prepareSqliteParams, preparePGliteParams, connectToSQLite, connectToLibSQL;
139554
139556
  var init_connections = __esm({
139555
139557
  "src/cli/connections.ts"() {
139556
139558
  "use strict";
@@ -139686,7 +139688,13 @@ var init_connections = __esm({
139686
139688
  }
139687
139689
  return results;
139688
139690
  };
139689
- return { packageName: "pglite", query, proxy, transactionProxy, migrate: migrateFn };
139691
+ return {
139692
+ packageName: "pglite",
139693
+ query,
139694
+ proxy,
139695
+ transactionProxy,
139696
+ migrate: migrateFn
139697
+ };
139690
139698
  }
139691
139699
  assertUnreachable(driver2);
139692
139700
  }
@@ -139927,7 +139935,13 @@ var init_connections = __esm({
139927
139935
  }
139928
139936
  return results;
139929
139937
  };
139930
- return { packageName: "postgres", query, proxy, transactionProxy, migrate: migrateFn };
139938
+ return {
139939
+ packageName: "postgres",
139940
+ query,
139941
+ proxy,
139942
+ transactionProxy,
139943
+ migrate: migrateFn
139944
+ };
139931
139945
  }
139932
139946
  if (await checkPackage("@vercel/postgres")) {
139933
139947
  console.log(
@@ -140008,7 +140022,13 @@ var init_connections = __esm({
140008
140022
  }
140009
140023
  return results;
140010
140024
  };
140011
- return { packageName: "@vercel/postgres", query, proxy, transactionProxy, migrate: migrateFn };
140025
+ return {
140026
+ packageName: "@vercel/postgres",
140027
+ query,
140028
+ proxy,
140029
+ transactionProxy,
140030
+ migrate: migrateFn
140031
+ };
140012
140032
  }
140013
140033
  if (await checkPackage("@neondatabase/serverless")) {
140014
140034
  console.log(
@@ -140021,7 +140041,11 @@ var init_connections = __esm({
140021
140041
  "'@neondatabase/serverless' can only connect to remote Neon/Vercel Postgres/Supabase instances through a websocket"
140022
140042
  )
140023
140043
  );
140024
- const { Pool, neonConfig, types: pgTypes } = require("@neondatabase/serverless");
140044
+ const {
140045
+ Pool,
140046
+ neonConfig,
140047
+ types: pgTypes
140048
+ } = require("@neondatabase/serverless");
140025
140049
  const { drizzle } = require("drizzle-orm/neon-serverless");
140026
140050
  const { migrate } = require("drizzle-orm/neon-serverless/migrator");
140027
140051
  const ssl = "ssl" in credentials ? credentials.ssl === "prefer" || credentials.ssl === "require" || credentials.ssl === "allow" ? { rejectUnauthorized: false } : credentials.ssl === "verify-full" ? {} : credentials.ssl : {};
@@ -140091,7 +140115,13 @@ var init_connections = __esm({
140091
140115
  }
140092
140116
  return results;
140093
140117
  };
140094
- return { packageName: "@neondatabase/serverless", query, proxy, transactionProxy, migrate: migrateFn };
140118
+ return {
140119
+ packageName: "@neondatabase/serverless",
140120
+ query,
140121
+ proxy,
140122
+ transactionProxy,
140123
+ migrate: migrateFn
140124
+ };
140095
140125
  }
140096
140126
  if (await checkPackage("bun")) {
140097
140127
  console.log(withStyle.info(`Using 'bun' driver for database querying`));
@@ -140142,6 +140172,54 @@ var init_connections = __esm({
140142
140172
  console.warn("For the 'bun' driver, run your script using: bun --bun");
140143
140173
  process.exit(1);
140144
140174
  };
140175
+ prepareDuckDb = async (credentials) => {
140176
+ if (await checkPackage("@duckdb/node-api")) {
140177
+ console.log(
140178
+ withStyle.info(`Using '@duckdb/node-api' driver for database querying`)
140179
+ );
140180
+ const { DuckDBInstance } = require("@duckdb/node-api");
140181
+ const instance = await DuckDBInstance.create(credentials.url);
140182
+ const client = await instance.connect();
140183
+ const query = async (sql, params = []) => {
140184
+ const result2 = await client.run(sql, params);
140185
+ const rows = await result2.getRowObjectsJson();
140186
+ return rows;
140187
+ };
140188
+ const proxy = async (params) => {
140189
+ const result2 = await client.run(params.sql, params.params);
140190
+ return params.mode === "array" ? await result2.getRowsJson() : await result2.getRowObjectsJson();
140191
+ };
140192
+ const transactionProxy = async (queries) => {
140193
+ const results = [];
140194
+ try {
140195
+ await client.run("BEGIN");
140196
+ for (const query2 of queries) {
140197
+ const result2 = await client.run(query2.sql);
140198
+ results.push(await result2.getRowObjectsJson());
140199
+ }
140200
+ await client.run("COMMIT");
140201
+ } catch (error3) {
140202
+ await client.run("ROLLBACK");
140203
+ results.push(error3);
140204
+ }
140205
+ return results;
140206
+ };
140207
+ return {
140208
+ packageName: "@duckdb/node-api",
140209
+ query,
140210
+ proxy,
140211
+ transactionProxy,
140212
+ migrate: () => {
140213
+ throw new Error("DuckDB does not support migrations");
140214
+ }
140215
+ };
140216
+ }
140217
+ console.error(
140218
+ // "To connect to DuckDb database - please install either of 'duckdb', '@duckdb/node-api' drivers",
140219
+ "To connect to DuckDb database - please install '@duckdb/node-api' driver"
140220
+ );
140221
+ process.exit(1);
140222
+ };
140145
140223
  prepareCockroach = async (credentials) => {
140146
140224
  if (await checkPackage("pg")) {
140147
140225
  const { default: pg } = require("pg");
@@ -140194,9 +140272,7 @@ var init_connections = __esm({
140194
140272
  };
140195
140273
  return { query, proxy, migrate: migrateFn };
140196
140274
  }
140197
- console.error(
140198
- "To connect to Cockroach - please install 'pg' package"
140199
- );
140275
+ console.error("To connect to Cockroach - please install 'pg' package");
140200
140276
  process.exit(1);
140201
140277
  };
140202
140278
  prepareGelDB = async (credentials) => {
@@ -140255,9 +140331,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
140255
140331
  };
140256
140332
  return { packageName: "gel", query, proxy, transactionProxy };
140257
140333
  }
140258
- console.error(
140259
- "To connect to gel database - please install 'edgedb' driver"
140260
- );
140334
+ console.error("To connect to gel database - please install 'edgedb' driver");
140261
140335
  process.exit(1);
140262
140336
  };
140263
140337
  parseSingleStoreCredentials = (credentials) => {
@@ -140709,9 +140783,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
140709
140783
  migrate: migrateFn
140710
140784
  };
140711
140785
  }
140712
- console.error(
140713
- "To connect to MsSQL database - please install 'mssql' driver"
140714
- );
140786
+ console.error("To connect to MsSQL database - please install 'mssql' driver");
140715
140787
  process.exit(1);
140716
140788
  };
140717
140789
  prepareSqliteParams = (params, driver2) => {
@@ -140816,7 +140888,10 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
140816
140888
  await remoteCallback(query2, [], "run");
140817
140889
  };
140818
140890
  const proxy = async (params) => {
140819
- const preparedParams = prepareSqliteParams(params.params || [], "d1-http");
140891
+ const preparedParams = prepareSqliteParams(
140892
+ params.params || [],
140893
+ "d1-http"
140894
+ );
140820
140895
  const result2 = await remoteCallback(
140821
140896
  params.sql,
140822
140897
  preparedParams,
@@ -141041,17 +141116,19 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
141041
141116
  };
141042
141117
  const transactionProxy = async (queries) => {
141043
141118
  const results = [];
141044
- const tx = sqlite.transaction((queries2) => {
141045
- for (const query of queries2) {
141046
- let result2 = [];
141047
- if (query.method === "values" || query.method === "get" || query.method === "all") {
141048
- result2 = sqlite.prepare(query.sql).all();
141049
- } else {
141050
- sqlite.prepare(query.sql).run();
141119
+ const tx = sqlite.transaction(
141120
+ (queries2) => {
141121
+ for (const query of queries2) {
141122
+ let result2 = [];
141123
+ if (query.method === "values" || query.method === "get" || query.method === "all") {
141124
+ result2 = sqlite.prepare(query.sql).all();
141125
+ } else {
141126
+ sqlite.prepare(query.sql).run();
141127
+ }
141128
+ results.push(result2);
141051
141129
  }
141052
- results.push(result2);
141053
141130
  }
141054
- });
141131
+ );
141055
141132
  try {
141056
141133
  tx(queries);
141057
141134
  } catch (error3) {
@@ -141059,7 +141136,13 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
141059
141136
  }
141060
141137
  return results;
141061
141138
  };
141062
- return { ...db, packageName: "better-sqlite3", proxy, transactionProxy, migrate: migrateFn };
141139
+ return {
141140
+ ...db,
141141
+ packageName: "better-sqlite3",
141142
+ proxy,
141143
+ transactionProxy,
141144
+ migrate: migrateFn
141145
+ };
141063
141146
  }
141064
141147
  if (await checkPackage("bun")) {
141065
141148
  console.log(withStyle.info(`Using 'bun' driver for database querying`));
@@ -141189,6 +141272,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
141189
141272
  // src/cli/commands/studio.ts
141190
141273
  var studio_exports = {};
141191
141274
  __export(studio_exports, {
141275
+ drizzleForDuckDb: () => drizzleForDuckDb,
141192
141276
  drizzleForLibSQL: () => drizzleForLibSQL,
141193
141277
  drizzleForMySQL: () => drizzleForMySQL,
141194
141278
  drizzleForPostgres: () => drizzleForPostgres,
@@ -141202,7 +141286,7 @@ __export(studio_exports, {
141202
141286
  prepareServer: () => prepareServer,
141203
141287
  prepareSingleStoreSchema: () => prepareSingleStoreSchema
141204
141288
  });
141205
- var import_crypto9, import_drizzle_orm, import_relations, import_mssql_core2, import_mysql_core2, import_pg_core2, import_singlestore_core, import_sqlite_core2, import_fs4, import_node_https2, preparePgSchema, prepareMySqlSchema, prepareMsSqlSchema, prepareSQLiteSchema, prepareSingleStoreSchema, getCustomDefaults, drizzleForPostgres, drizzleForMySQL, drizzleForSQLite, drizzleForLibSQL, drizzleForSingleStore, extractRelations, init2, proxySchema, transactionProxySchema, benchmarkProxySchema, defaultsSchema, schema4, jsonStringify, prepareServer;
141289
+ var import_crypto9, import_drizzle_orm, import_relations, import_mssql_core2, import_mysql_core2, import_pg_core2, import_singlestore_core, import_sqlite_core2, import_fs4, import_node_https2, preparePgSchema, prepareMySqlSchema, prepareMsSqlSchema, prepareSQLiteSchema, prepareSingleStoreSchema, getCustomDefaults, drizzleForPostgres, drizzleForDuckDb, drizzleForMySQL, drizzleForSQLite, drizzleForLibSQL, drizzleForSingleStore, extractRelations, init2, proxySchema, transactionProxySchema, benchmarkProxySchema, defaultsSchema, schema4, jsonStringify, prepareServer;
141206
141290
  var init_studio = __esm({
141207
141291
  "src/cli/commands/studio.ts"() {
141208
141292
  "use strict";
@@ -141434,6 +141518,23 @@ var init_studio = __esm({
141434
141518
  casing: casing2
141435
141519
  };
141436
141520
  };
141521
+ drizzleForDuckDb = async (credentials) => {
141522
+ const { prepareDuckDb: prepareDuckDb2 } = await Promise.resolve().then(() => (init_connections(), connections_exports));
141523
+ const db = await prepareDuckDb2(credentials);
141524
+ const dbUrl = `duckdb://${credentials.url}`;
141525
+ const dbHash = (0, import_crypto9.createHash)("sha256").update(dbUrl).digest("hex");
141526
+ return {
141527
+ dbHash,
141528
+ dialect: "duckdb",
141529
+ driver: void 0,
141530
+ packageName: db.packageName,
141531
+ proxy: db.proxy,
141532
+ transactionProxy: db.transactionProxy,
141533
+ customDefaults: [],
141534
+ schema: {},
141535
+ relations: {}
141536
+ };
141537
+ };
141437
141538
  drizzleForMySQL = async (credentials, mysqlSchema, relations, schemaFiles, casing2) => {
141438
141539
  const { connectToMySQL: connectToMySQL2 } = await Promise.resolve().then(() => (init_connections(), connections_exports));
141439
141540
  const { proxy, transactionProxy, benchmarkProxy, database, packageName } = await connectToMySQL2(credentials);
package/api-mysql.mjs CHANGED
@@ -17336,7 +17336,8 @@ var init_schemaValidator = __esm({
17336
17336
  "singlestore",
17337
17337
  "gel",
17338
17338
  "mssql",
17339
- "cockroach"
17339
+ "cockroach",
17340
+ "duckdb"
17340
17341
  ];
17341
17342
  dialect3 = enumType(dialects);
17342
17343
  }
@@ -139543,6 +139544,7 @@ __export(connections_exports, {
139543
139544
  connectToSQLite: () => connectToSQLite,
139544
139545
  connectToSingleStore: () => connectToSingleStore,
139545
139546
  prepareCockroach: () => prepareCockroach,
139547
+ prepareDuckDb: () => prepareDuckDb,
139546
139548
  prepareGelDB: () => prepareGelDB,
139547
139549
  preparePostgresDB: () => preparePostgresDB
139548
139550
  });
@@ -139560,7 +139562,7 @@ function parseMssqlUrl(url) {
139560
139562
  }
139561
139563
  };
139562
139564
  }
139563
- var ms, normalisePGliteUrl, preparePostgresDB, prepareCockroach, prepareGelDB, parseSingleStoreCredentials, connectToSingleStore, parseMysqlCredentials, connectToMySQL, parseMssqlCredentials, connectToMsSQL, prepareSqliteParams, preparePGliteParams, connectToSQLite, connectToLibSQL;
139565
+ var ms, normalisePGliteUrl, preparePostgresDB, prepareDuckDb, prepareCockroach, prepareGelDB, parseSingleStoreCredentials, connectToSingleStore, parseMysqlCredentials, connectToMySQL, parseMssqlCredentials, connectToMsSQL, prepareSqliteParams, preparePGliteParams, connectToSQLite, connectToLibSQL;
139564
139566
  var init_connections = __esm({
139565
139567
  "src/cli/connections.ts"() {
139566
139568
  "use strict";
@@ -139695,7 +139697,13 @@ var init_connections = __esm({
139695
139697
  }
139696
139698
  return results;
139697
139699
  };
139698
- return { packageName: "pglite", query, proxy, transactionProxy, migrate: migrateFn };
139700
+ return {
139701
+ packageName: "pglite",
139702
+ query,
139703
+ proxy,
139704
+ transactionProxy,
139705
+ migrate: migrateFn
139706
+ };
139699
139707
  }
139700
139708
  assertUnreachable(driver2);
139701
139709
  }
@@ -139936,7 +139944,13 @@ var init_connections = __esm({
139936
139944
  }
139937
139945
  return results;
139938
139946
  };
139939
- return { packageName: "postgres", query, proxy, transactionProxy, migrate: migrateFn };
139947
+ return {
139948
+ packageName: "postgres",
139949
+ query,
139950
+ proxy,
139951
+ transactionProxy,
139952
+ migrate: migrateFn
139953
+ };
139940
139954
  }
139941
139955
  if (await checkPackage("@vercel/postgres")) {
139942
139956
  console.log(
@@ -140017,7 +140031,13 @@ var init_connections = __esm({
140017
140031
  }
140018
140032
  return results;
140019
140033
  };
140020
- return { packageName: "@vercel/postgres", query, proxy, transactionProxy, migrate: migrateFn };
140034
+ return {
140035
+ packageName: "@vercel/postgres",
140036
+ query,
140037
+ proxy,
140038
+ transactionProxy,
140039
+ migrate: migrateFn
140040
+ };
140021
140041
  }
140022
140042
  if (await checkPackage("@neondatabase/serverless")) {
140023
140043
  console.log(
@@ -140030,7 +140050,11 @@ var init_connections = __esm({
140030
140050
  "'@neondatabase/serverless' can only connect to remote Neon/Vercel Postgres/Supabase instances through a websocket"
140031
140051
  )
140032
140052
  );
140033
- const { Pool, neonConfig, types: pgTypes } = await import("@neondatabase/serverless");
140053
+ const {
140054
+ Pool,
140055
+ neonConfig,
140056
+ types: pgTypes
140057
+ } = await import("@neondatabase/serverless");
140034
140058
  const { drizzle } = await import("drizzle-orm/neon-serverless");
140035
140059
  const { migrate } = await import("drizzle-orm/neon-serverless/migrator");
140036
140060
  const ssl = "ssl" in credentials ? credentials.ssl === "prefer" || credentials.ssl === "require" || credentials.ssl === "allow" ? { rejectUnauthorized: false } : credentials.ssl === "verify-full" ? {} : credentials.ssl : {};
@@ -140100,7 +140124,13 @@ var init_connections = __esm({
140100
140124
  }
140101
140125
  return results;
140102
140126
  };
140103
- return { packageName: "@neondatabase/serverless", query, proxy, transactionProxy, migrate: migrateFn };
140127
+ return {
140128
+ packageName: "@neondatabase/serverless",
140129
+ query,
140130
+ proxy,
140131
+ transactionProxy,
140132
+ migrate: migrateFn
140133
+ };
140104
140134
  }
140105
140135
  if (await checkPackage("bun")) {
140106
140136
  console.log(withStyle.info(`Using 'bun' driver for database querying`));
@@ -140151,6 +140181,54 @@ var init_connections = __esm({
140151
140181
  console.warn("For the 'bun' driver, run your script using: bun --bun");
140152
140182
  process.exit(1);
140153
140183
  };
140184
+ prepareDuckDb = async (credentials) => {
140185
+ if (await checkPackage("@duckdb/node-api")) {
140186
+ console.log(
140187
+ withStyle.info(`Using '@duckdb/node-api' driver for database querying`)
140188
+ );
140189
+ const { DuckDBInstance } = await import("@duckdb/node-api");
140190
+ const instance = await DuckDBInstance.create(credentials.url);
140191
+ const client = await instance.connect();
140192
+ const query = async (sql, params = []) => {
140193
+ const result2 = await client.run(sql, params);
140194
+ const rows = await result2.getRowObjectsJson();
140195
+ return rows;
140196
+ };
140197
+ const proxy = async (params) => {
140198
+ const result2 = await client.run(params.sql, params.params);
140199
+ return params.mode === "array" ? await result2.getRowsJson() : await result2.getRowObjectsJson();
140200
+ };
140201
+ const transactionProxy = async (queries) => {
140202
+ const results = [];
140203
+ try {
140204
+ await client.run("BEGIN");
140205
+ for (const query2 of queries) {
140206
+ const result2 = await client.run(query2.sql);
140207
+ results.push(await result2.getRowObjectsJson());
140208
+ }
140209
+ await client.run("COMMIT");
140210
+ } catch (error3) {
140211
+ await client.run("ROLLBACK");
140212
+ results.push(error3);
140213
+ }
140214
+ return results;
140215
+ };
140216
+ return {
140217
+ packageName: "@duckdb/node-api",
140218
+ query,
140219
+ proxy,
140220
+ transactionProxy,
140221
+ migrate: () => {
140222
+ throw new Error("DuckDB does not support migrations");
140223
+ }
140224
+ };
140225
+ }
140226
+ console.error(
140227
+ // "To connect to DuckDb database - please install either of 'duckdb', '@duckdb/node-api' drivers",
140228
+ "To connect to DuckDb database - please install '@duckdb/node-api' driver"
140229
+ );
140230
+ process.exit(1);
140231
+ };
140154
140232
  prepareCockroach = async (credentials) => {
140155
140233
  if (await checkPackage("pg")) {
140156
140234
  const { default: pg } = await import("pg");
@@ -140203,9 +140281,7 @@ var init_connections = __esm({
140203
140281
  };
140204
140282
  return { query, proxy, migrate: migrateFn };
140205
140283
  }
140206
- console.error(
140207
- "To connect to Cockroach - please install 'pg' package"
140208
- );
140284
+ console.error("To connect to Cockroach - please install 'pg' package");
140209
140285
  process.exit(1);
140210
140286
  };
140211
140287
  prepareGelDB = async (credentials) => {
@@ -140264,9 +140340,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
140264
140340
  };
140265
140341
  return { packageName: "gel", query, proxy, transactionProxy };
140266
140342
  }
140267
- console.error(
140268
- "To connect to gel database - please install 'edgedb' driver"
140269
- );
140343
+ console.error("To connect to gel database - please install 'edgedb' driver");
140270
140344
  process.exit(1);
140271
140345
  };
140272
140346
  parseSingleStoreCredentials = (credentials) => {
@@ -140718,9 +140792,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
140718
140792
  migrate: migrateFn
140719
140793
  };
140720
140794
  }
140721
- console.error(
140722
- "To connect to MsSQL database - please install 'mssql' driver"
140723
- );
140795
+ console.error("To connect to MsSQL database - please install 'mssql' driver");
140724
140796
  process.exit(1);
140725
140797
  };
140726
140798
  prepareSqliteParams = (params, driver2) => {
@@ -140825,7 +140897,10 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
140825
140897
  await remoteCallback(query2, [], "run");
140826
140898
  };
140827
140899
  const proxy = async (params) => {
140828
- const preparedParams = prepareSqliteParams(params.params || [], "d1-http");
140900
+ const preparedParams = prepareSqliteParams(
140901
+ params.params || [],
140902
+ "d1-http"
140903
+ );
140829
140904
  const result2 = await remoteCallback(
140830
140905
  params.sql,
140831
140906
  preparedParams,
@@ -141050,17 +141125,19 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
141050
141125
  };
141051
141126
  const transactionProxy = async (queries) => {
141052
141127
  const results = [];
141053
- const tx = sqlite.transaction((queries2) => {
141054
- for (const query of queries2) {
141055
- let result2 = [];
141056
- if (query.method === "values" || query.method === "get" || query.method === "all") {
141057
- result2 = sqlite.prepare(query.sql).all();
141058
- } else {
141059
- sqlite.prepare(query.sql).run();
141128
+ const tx = sqlite.transaction(
141129
+ (queries2) => {
141130
+ for (const query of queries2) {
141131
+ let result2 = [];
141132
+ if (query.method === "values" || query.method === "get" || query.method === "all") {
141133
+ result2 = sqlite.prepare(query.sql).all();
141134
+ } else {
141135
+ sqlite.prepare(query.sql).run();
141136
+ }
141137
+ results.push(result2);
141060
141138
  }
141061
- results.push(result2);
141062
141139
  }
141063
- });
141140
+ );
141064
141141
  try {
141065
141142
  tx(queries);
141066
141143
  } catch (error3) {
@@ -141068,7 +141145,13 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
141068
141145
  }
141069
141146
  return results;
141070
141147
  };
141071
- return { ...db, packageName: "better-sqlite3", proxy, transactionProxy, migrate: migrateFn };
141148
+ return {
141149
+ ...db,
141150
+ packageName: "better-sqlite3",
141151
+ proxy,
141152
+ transactionProxy,
141153
+ migrate: migrateFn
141154
+ };
141072
141155
  }
141073
141156
  if (await checkPackage("bun")) {
141074
141157
  console.log(withStyle.info(`Using 'bun' driver for database querying`));
@@ -141198,6 +141281,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
141198
141281
  // src/cli/commands/studio.ts
141199
141282
  var studio_exports = {};
141200
141283
  __export(studio_exports, {
141284
+ drizzleForDuckDb: () => drizzleForDuckDb,
141201
141285
  drizzleForLibSQL: () => drizzleForLibSQL,
141202
141286
  drizzleForMySQL: () => drizzleForMySQL,
141203
141287
  drizzleForPostgres: () => drizzleForPostgres,
@@ -141228,7 +141312,7 @@ import { getTableConfig as singlestoreTableConfig, SingleStoreTable } from "driz
141228
141312
  import { getTableConfig as sqliteTableConfig, SQLiteTable } from "drizzle-orm/sqlite-core";
141229
141313
  import fs9 from "fs";
141230
141314
  import { createServer } from "https";
141231
- var preparePgSchema, prepareMySqlSchema, prepareMsSqlSchema, prepareSQLiteSchema, prepareSingleStoreSchema, getCustomDefaults, drizzleForPostgres, drizzleForMySQL, drizzleForSQLite, drizzleForLibSQL, drizzleForSingleStore, extractRelations, init2, proxySchema, transactionProxySchema, benchmarkProxySchema, defaultsSchema, schema4, jsonStringify, prepareServer;
141315
+ var preparePgSchema, prepareMySqlSchema, prepareMsSqlSchema, prepareSQLiteSchema, prepareSingleStoreSchema, getCustomDefaults, drizzleForPostgres, drizzleForDuckDb, drizzleForMySQL, drizzleForSQLite, drizzleForLibSQL, drizzleForSingleStore, extractRelations, init2, proxySchema, transactionProxySchema, benchmarkProxySchema, defaultsSchema, schema4, jsonStringify, prepareServer;
141232
141316
  var init_studio = __esm({
141233
141317
  "src/cli/commands/studio.ts"() {
141234
141318
  "use strict";
@@ -141450,6 +141534,23 @@ var init_studio = __esm({
141450
141534
  casing: casing2
141451
141535
  };
141452
141536
  };
141537
+ drizzleForDuckDb = async (credentials) => {
141538
+ const { prepareDuckDb: prepareDuckDb2 } = await Promise.resolve().then(() => (init_connections(), connections_exports));
141539
+ const db = await prepareDuckDb2(credentials);
141540
+ const dbUrl = `duckdb://${credentials.url}`;
141541
+ const dbHash = createHash4("sha256").update(dbUrl).digest("hex");
141542
+ return {
141543
+ dbHash,
141544
+ dialect: "duckdb",
141545
+ driver: void 0,
141546
+ packageName: db.packageName,
141547
+ proxy: db.proxy,
141548
+ transactionProxy: db.transactionProxy,
141549
+ customDefaults: [],
141550
+ schema: {},
141551
+ relations: {}
141552
+ };
141553
+ };
141453
141554
  drizzleForMySQL = async (credentials, mysqlSchema, relations, schemaFiles, casing2) => {
141454
141555
  const { connectToMySQL: connectToMySQL2 } = await Promise.resolve().then(() => (init_connections(), connections_exports));
141455
141556
  const { proxy, transactionProxy, benchmarkProxy, database, packageName } = await connectToMySQL2(credentials);