drizzle-kit 1.0.0-beta.3-a8902bc → 1.0.0-beta.3-702eadc
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 +129 -29
- package/api-mysql.mjs +129 -29
- package/api-postgres.js +177 -87
- package/api-postgres.mjs +177 -87
- package/api-sqlite.js +129 -29
- package/api-sqlite.mjs +129 -29
- package/bin.cjs +338 -288
- package/index.d.mts +6 -1
- package/index.d.ts +6 -1
- package/package.json +3 -1
package/api-mysql.js
CHANGED
|
@@ -10676,7 +10676,6 @@ var init_stringify = __esm({
|
|
|
10676
10676
|
case `number`:
|
|
10677
10677
|
return Number.isFinite(value) ? value.toString() : `null`;
|
|
10678
10678
|
case `boolean`:
|
|
10679
|
-
return value.toString();
|
|
10680
10679
|
case `bigint`:
|
|
10681
10680
|
return n6 ? `${value.toString()}n` : value.toString();
|
|
10682
10681
|
case `object`: {
|
|
@@ -17325,7 +17324,8 @@ var init_schemaValidator = __esm({
|
|
|
17325
17324
|
"singlestore",
|
|
17326
17325
|
"gel",
|
|
17327
17326
|
"mssql",
|
|
17328
|
-
"cockroach"
|
|
17327
|
+
"cockroach",
|
|
17328
|
+
"duckdb"
|
|
17329
17329
|
];
|
|
17330
17330
|
dialect3 = enumType(dialects);
|
|
17331
17331
|
}
|
|
@@ -139535,6 +139535,7 @@ __export(connections_exports, {
|
|
|
139535
139535
|
connectToSQLite: () => connectToSQLite,
|
|
139536
139536
|
connectToSingleStore: () => connectToSingleStore,
|
|
139537
139537
|
prepareCockroach: () => prepareCockroach,
|
|
139538
|
+
prepareDuckDb: () => prepareDuckDb,
|
|
139538
139539
|
prepareGelDB: () => prepareGelDB,
|
|
139539
139540
|
preparePostgresDB: () => preparePostgresDB
|
|
139540
139541
|
});
|
|
@@ -139551,7 +139552,7 @@ function parseMssqlUrl(url) {
|
|
|
139551
139552
|
}
|
|
139552
139553
|
};
|
|
139553
139554
|
}
|
|
139554
|
-
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;
|
|
139555
139556
|
var init_connections = __esm({
|
|
139556
139557
|
"src/cli/connections.ts"() {
|
|
139557
139558
|
"use strict";
|
|
@@ -139687,7 +139688,13 @@ var init_connections = __esm({
|
|
|
139687
139688
|
}
|
|
139688
139689
|
return results;
|
|
139689
139690
|
};
|
|
139690
|
-
return {
|
|
139691
|
+
return {
|
|
139692
|
+
packageName: "pglite",
|
|
139693
|
+
query,
|
|
139694
|
+
proxy,
|
|
139695
|
+
transactionProxy,
|
|
139696
|
+
migrate: migrateFn
|
|
139697
|
+
};
|
|
139691
139698
|
}
|
|
139692
139699
|
assertUnreachable(driver2);
|
|
139693
139700
|
}
|
|
@@ -139928,7 +139935,13 @@ var init_connections = __esm({
|
|
|
139928
139935
|
}
|
|
139929
139936
|
return results;
|
|
139930
139937
|
};
|
|
139931
|
-
return {
|
|
139938
|
+
return {
|
|
139939
|
+
packageName: "postgres",
|
|
139940
|
+
query,
|
|
139941
|
+
proxy,
|
|
139942
|
+
transactionProxy,
|
|
139943
|
+
migrate: migrateFn
|
|
139944
|
+
};
|
|
139932
139945
|
}
|
|
139933
139946
|
if (await checkPackage("@vercel/postgres")) {
|
|
139934
139947
|
console.log(
|
|
@@ -140009,7 +140022,13 @@ var init_connections = __esm({
|
|
|
140009
140022
|
}
|
|
140010
140023
|
return results;
|
|
140011
140024
|
};
|
|
140012
|
-
return {
|
|
140025
|
+
return {
|
|
140026
|
+
packageName: "@vercel/postgres",
|
|
140027
|
+
query,
|
|
140028
|
+
proxy,
|
|
140029
|
+
transactionProxy,
|
|
140030
|
+
migrate: migrateFn
|
|
140031
|
+
};
|
|
140013
140032
|
}
|
|
140014
140033
|
if (await checkPackage("@neondatabase/serverless")) {
|
|
140015
140034
|
console.log(
|
|
@@ -140022,7 +140041,11 @@ var init_connections = __esm({
|
|
|
140022
140041
|
"'@neondatabase/serverless' can only connect to remote Neon/Vercel Postgres/Supabase instances through a websocket"
|
|
140023
140042
|
)
|
|
140024
140043
|
);
|
|
140025
|
-
const {
|
|
140044
|
+
const {
|
|
140045
|
+
Pool,
|
|
140046
|
+
neonConfig,
|
|
140047
|
+
types: pgTypes
|
|
140048
|
+
} = require("@neondatabase/serverless");
|
|
140026
140049
|
const { drizzle } = require("drizzle-orm/neon-serverless");
|
|
140027
140050
|
const { migrate } = require("drizzle-orm/neon-serverless/migrator");
|
|
140028
140051
|
const ssl = "ssl" in credentials ? credentials.ssl === "prefer" || credentials.ssl === "require" || credentials.ssl === "allow" ? { rejectUnauthorized: false } : credentials.ssl === "verify-full" ? {} : credentials.ssl : {};
|
|
@@ -140092,7 +140115,13 @@ var init_connections = __esm({
|
|
|
140092
140115
|
}
|
|
140093
140116
|
return results;
|
|
140094
140117
|
};
|
|
140095
|
-
return {
|
|
140118
|
+
return {
|
|
140119
|
+
packageName: "@neondatabase/serverless",
|
|
140120
|
+
query,
|
|
140121
|
+
proxy,
|
|
140122
|
+
transactionProxy,
|
|
140123
|
+
migrate: migrateFn
|
|
140124
|
+
};
|
|
140096
140125
|
}
|
|
140097
140126
|
if (await checkPackage("bun")) {
|
|
140098
140127
|
console.log(withStyle.info(`Using 'bun' driver for database querying`));
|
|
@@ -140143,6 +140172,54 @@ var init_connections = __esm({
|
|
|
140143
140172
|
console.warn("For the 'bun' driver, run your script using: bun --bun");
|
|
140144
140173
|
process.exit(1);
|
|
140145
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
|
+
};
|
|
140146
140223
|
prepareCockroach = async (credentials) => {
|
|
140147
140224
|
if (await checkPackage("pg")) {
|
|
140148
140225
|
const { default: pg } = require("pg");
|
|
@@ -140195,9 +140272,7 @@ var init_connections = __esm({
|
|
|
140195
140272
|
};
|
|
140196
140273
|
return { query, proxy, migrate: migrateFn };
|
|
140197
140274
|
}
|
|
140198
|
-
console.error(
|
|
140199
|
-
"To connect to Cockroach - please install 'pg' package"
|
|
140200
|
-
);
|
|
140275
|
+
console.error("To connect to Cockroach - please install 'pg' package");
|
|
140201
140276
|
process.exit(1);
|
|
140202
140277
|
};
|
|
140203
140278
|
prepareGelDB = async (credentials) => {
|
|
@@ -140256,9 +140331,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
140256
140331
|
};
|
|
140257
140332
|
return { packageName: "gel", query, proxy, transactionProxy };
|
|
140258
140333
|
}
|
|
140259
|
-
console.error(
|
|
140260
|
-
"To connect to gel database - please install 'edgedb' driver"
|
|
140261
|
-
);
|
|
140334
|
+
console.error("To connect to gel database - please install 'edgedb' driver");
|
|
140262
140335
|
process.exit(1);
|
|
140263
140336
|
};
|
|
140264
140337
|
parseSingleStoreCredentials = (credentials) => {
|
|
@@ -140710,9 +140783,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
140710
140783
|
migrate: migrateFn
|
|
140711
140784
|
};
|
|
140712
140785
|
}
|
|
140713
|
-
console.error(
|
|
140714
|
-
"To connect to MsSQL database - please install 'mssql' driver"
|
|
140715
|
-
);
|
|
140786
|
+
console.error("To connect to MsSQL database - please install 'mssql' driver");
|
|
140716
140787
|
process.exit(1);
|
|
140717
140788
|
};
|
|
140718
140789
|
prepareSqliteParams = (params, driver2) => {
|
|
@@ -140817,7 +140888,10 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
140817
140888
|
await remoteCallback(query2, [], "run");
|
|
140818
140889
|
};
|
|
140819
140890
|
const proxy = async (params) => {
|
|
140820
|
-
const preparedParams = prepareSqliteParams(
|
|
140891
|
+
const preparedParams = prepareSqliteParams(
|
|
140892
|
+
params.params || [],
|
|
140893
|
+
"d1-http"
|
|
140894
|
+
);
|
|
140821
140895
|
const result2 = await remoteCallback(
|
|
140822
140896
|
params.sql,
|
|
140823
140897
|
preparedParams,
|
|
@@ -141042,17 +141116,19 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
141042
141116
|
};
|
|
141043
141117
|
const transactionProxy = async (queries) => {
|
|
141044
141118
|
const results = [];
|
|
141045
|
-
const tx = sqlite.transaction(
|
|
141046
|
-
|
|
141047
|
-
|
|
141048
|
-
|
|
141049
|
-
|
|
141050
|
-
|
|
141051
|
-
|
|
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);
|
|
141052
141129
|
}
|
|
141053
|
-
results.push(result2);
|
|
141054
141130
|
}
|
|
141055
|
-
|
|
141131
|
+
);
|
|
141056
141132
|
try {
|
|
141057
141133
|
tx(queries);
|
|
141058
141134
|
} catch (error3) {
|
|
@@ -141060,7 +141136,13 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
141060
141136
|
}
|
|
141061
141137
|
return results;
|
|
141062
141138
|
};
|
|
141063
|
-
return {
|
|
141139
|
+
return {
|
|
141140
|
+
...db,
|
|
141141
|
+
packageName: "better-sqlite3",
|
|
141142
|
+
proxy,
|
|
141143
|
+
transactionProxy,
|
|
141144
|
+
migrate: migrateFn
|
|
141145
|
+
};
|
|
141064
141146
|
}
|
|
141065
141147
|
if (await checkPackage("bun")) {
|
|
141066
141148
|
console.log(withStyle.info(`Using 'bun' driver for database querying`));
|
|
@@ -141190,6 +141272,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
141190
141272
|
// src/cli/commands/studio.ts
|
|
141191
141273
|
var studio_exports = {};
|
|
141192
141274
|
__export(studio_exports, {
|
|
141275
|
+
drizzleForDuckDb: () => drizzleForDuckDb,
|
|
141193
141276
|
drizzleForLibSQL: () => drizzleForLibSQL,
|
|
141194
141277
|
drizzleForMySQL: () => drizzleForMySQL,
|
|
141195
141278
|
drizzleForPostgres: () => drizzleForPostgres,
|
|
@@ -141203,7 +141286,7 @@ __export(studio_exports, {
|
|
|
141203
141286
|
prepareServer: () => prepareServer,
|
|
141204
141287
|
prepareSingleStoreSchema: () => prepareSingleStoreSchema
|
|
141205
141288
|
});
|
|
141206
|
-
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;
|
|
141207
141290
|
var init_studio = __esm({
|
|
141208
141291
|
"src/cli/commands/studio.ts"() {
|
|
141209
141292
|
"use strict";
|
|
@@ -141435,6 +141518,23 @@ var init_studio = __esm({
|
|
|
141435
141518
|
casing: casing2
|
|
141436
141519
|
};
|
|
141437
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
|
+
};
|
|
141438
141538
|
drizzleForMySQL = async (credentials, mysqlSchema, relations, schemaFiles, casing2) => {
|
|
141439
141539
|
const { connectToMySQL: connectToMySQL2 } = await Promise.resolve().then(() => (init_connections(), connections_exports));
|
|
141440
141540
|
const { proxy, transactionProxy, benchmarkProxy, database, packageName } = await connectToMySQL2(credentials);
|
package/api-mysql.mjs
CHANGED
|
@@ -10688,7 +10688,6 @@ var init_stringify = __esm({
|
|
|
10688
10688
|
case `number`:
|
|
10689
10689
|
return Number.isFinite(value) ? value.toString() : `null`;
|
|
10690
10690
|
case `boolean`:
|
|
10691
|
-
return value.toString();
|
|
10692
10691
|
case `bigint`:
|
|
10693
10692
|
return n6 ? `${value.toString()}n` : value.toString();
|
|
10694
10693
|
case `object`: {
|
|
@@ -17337,7 +17336,8 @@ var init_schemaValidator = __esm({
|
|
|
17337
17336
|
"singlestore",
|
|
17338
17337
|
"gel",
|
|
17339
17338
|
"mssql",
|
|
17340
|
-
"cockroach"
|
|
17339
|
+
"cockroach",
|
|
17340
|
+
"duckdb"
|
|
17341
17341
|
];
|
|
17342
17342
|
dialect3 = enumType(dialects);
|
|
17343
17343
|
}
|
|
@@ -139544,6 +139544,7 @@ __export(connections_exports, {
|
|
|
139544
139544
|
connectToSQLite: () => connectToSQLite,
|
|
139545
139545
|
connectToSingleStore: () => connectToSingleStore,
|
|
139546
139546
|
prepareCockroach: () => prepareCockroach,
|
|
139547
|
+
prepareDuckDb: () => prepareDuckDb,
|
|
139547
139548
|
prepareGelDB: () => prepareGelDB,
|
|
139548
139549
|
preparePostgresDB: () => preparePostgresDB
|
|
139549
139550
|
});
|
|
@@ -139561,7 +139562,7 @@ function parseMssqlUrl(url) {
|
|
|
139561
139562
|
}
|
|
139562
139563
|
};
|
|
139563
139564
|
}
|
|
139564
|
-
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;
|
|
139565
139566
|
var init_connections = __esm({
|
|
139566
139567
|
"src/cli/connections.ts"() {
|
|
139567
139568
|
"use strict";
|
|
@@ -139696,7 +139697,13 @@ var init_connections = __esm({
|
|
|
139696
139697
|
}
|
|
139697
139698
|
return results;
|
|
139698
139699
|
};
|
|
139699
|
-
return {
|
|
139700
|
+
return {
|
|
139701
|
+
packageName: "pglite",
|
|
139702
|
+
query,
|
|
139703
|
+
proxy,
|
|
139704
|
+
transactionProxy,
|
|
139705
|
+
migrate: migrateFn
|
|
139706
|
+
};
|
|
139700
139707
|
}
|
|
139701
139708
|
assertUnreachable(driver2);
|
|
139702
139709
|
}
|
|
@@ -139937,7 +139944,13 @@ var init_connections = __esm({
|
|
|
139937
139944
|
}
|
|
139938
139945
|
return results;
|
|
139939
139946
|
};
|
|
139940
|
-
return {
|
|
139947
|
+
return {
|
|
139948
|
+
packageName: "postgres",
|
|
139949
|
+
query,
|
|
139950
|
+
proxy,
|
|
139951
|
+
transactionProxy,
|
|
139952
|
+
migrate: migrateFn
|
|
139953
|
+
};
|
|
139941
139954
|
}
|
|
139942
139955
|
if (await checkPackage("@vercel/postgres")) {
|
|
139943
139956
|
console.log(
|
|
@@ -140018,7 +140031,13 @@ var init_connections = __esm({
|
|
|
140018
140031
|
}
|
|
140019
140032
|
return results;
|
|
140020
140033
|
};
|
|
140021
|
-
return {
|
|
140034
|
+
return {
|
|
140035
|
+
packageName: "@vercel/postgres",
|
|
140036
|
+
query,
|
|
140037
|
+
proxy,
|
|
140038
|
+
transactionProxy,
|
|
140039
|
+
migrate: migrateFn
|
|
140040
|
+
};
|
|
140022
140041
|
}
|
|
140023
140042
|
if (await checkPackage("@neondatabase/serverless")) {
|
|
140024
140043
|
console.log(
|
|
@@ -140031,7 +140050,11 @@ var init_connections = __esm({
|
|
|
140031
140050
|
"'@neondatabase/serverless' can only connect to remote Neon/Vercel Postgres/Supabase instances through a websocket"
|
|
140032
140051
|
)
|
|
140033
140052
|
);
|
|
140034
|
-
const {
|
|
140053
|
+
const {
|
|
140054
|
+
Pool,
|
|
140055
|
+
neonConfig,
|
|
140056
|
+
types: pgTypes
|
|
140057
|
+
} = await import("@neondatabase/serverless");
|
|
140035
140058
|
const { drizzle } = await import("drizzle-orm/neon-serverless");
|
|
140036
140059
|
const { migrate } = await import("drizzle-orm/neon-serverless/migrator");
|
|
140037
140060
|
const ssl = "ssl" in credentials ? credentials.ssl === "prefer" || credentials.ssl === "require" || credentials.ssl === "allow" ? { rejectUnauthorized: false } : credentials.ssl === "verify-full" ? {} : credentials.ssl : {};
|
|
@@ -140101,7 +140124,13 @@ var init_connections = __esm({
|
|
|
140101
140124
|
}
|
|
140102
140125
|
return results;
|
|
140103
140126
|
};
|
|
140104
|
-
return {
|
|
140127
|
+
return {
|
|
140128
|
+
packageName: "@neondatabase/serverless",
|
|
140129
|
+
query,
|
|
140130
|
+
proxy,
|
|
140131
|
+
transactionProxy,
|
|
140132
|
+
migrate: migrateFn
|
|
140133
|
+
};
|
|
140105
140134
|
}
|
|
140106
140135
|
if (await checkPackage("bun")) {
|
|
140107
140136
|
console.log(withStyle.info(`Using 'bun' driver for database querying`));
|
|
@@ -140152,6 +140181,54 @@ var init_connections = __esm({
|
|
|
140152
140181
|
console.warn("For the 'bun' driver, run your script using: bun --bun");
|
|
140153
140182
|
process.exit(1);
|
|
140154
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
|
+
};
|
|
140155
140232
|
prepareCockroach = async (credentials) => {
|
|
140156
140233
|
if (await checkPackage("pg")) {
|
|
140157
140234
|
const { default: pg } = await import("pg");
|
|
@@ -140204,9 +140281,7 @@ var init_connections = __esm({
|
|
|
140204
140281
|
};
|
|
140205
140282
|
return { query, proxy, migrate: migrateFn };
|
|
140206
140283
|
}
|
|
140207
|
-
console.error(
|
|
140208
|
-
"To connect to Cockroach - please install 'pg' package"
|
|
140209
|
-
);
|
|
140284
|
+
console.error("To connect to Cockroach - please install 'pg' package");
|
|
140210
140285
|
process.exit(1);
|
|
140211
140286
|
};
|
|
140212
140287
|
prepareGelDB = async (credentials) => {
|
|
@@ -140265,9 +140340,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
140265
140340
|
};
|
|
140266
140341
|
return { packageName: "gel", query, proxy, transactionProxy };
|
|
140267
140342
|
}
|
|
140268
|
-
console.error(
|
|
140269
|
-
"To connect to gel database - please install 'edgedb' driver"
|
|
140270
|
-
);
|
|
140343
|
+
console.error("To connect to gel database - please install 'edgedb' driver");
|
|
140271
140344
|
process.exit(1);
|
|
140272
140345
|
};
|
|
140273
140346
|
parseSingleStoreCredentials = (credentials) => {
|
|
@@ -140719,9 +140792,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
140719
140792
|
migrate: migrateFn
|
|
140720
140793
|
};
|
|
140721
140794
|
}
|
|
140722
|
-
console.error(
|
|
140723
|
-
"To connect to MsSQL database - please install 'mssql' driver"
|
|
140724
|
-
);
|
|
140795
|
+
console.error("To connect to MsSQL database - please install 'mssql' driver");
|
|
140725
140796
|
process.exit(1);
|
|
140726
140797
|
};
|
|
140727
140798
|
prepareSqliteParams = (params, driver2) => {
|
|
@@ -140826,7 +140897,10 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
140826
140897
|
await remoteCallback(query2, [], "run");
|
|
140827
140898
|
};
|
|
140828
140899
|
const proxy = async (params) => {
|
|
140829
|
-
const preparedParams = prepareSqliteParams(
|
|
140900
|
+
const preparedParams = prepareSqliteParams(
|
|
140901
|
+
params.params || [],
|
|
140902
|
+
"d1-http"
|
|
140903
|
+
);
|
|
140830
140904
|
const result2 = await remoteCallback(
|
|
140831
140905
|
params.sql,
|
|
140832
140906
|
preparedParams,
|
|
@@ -141051,17 +141125,19 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
141051
141125
|
};
|
|
141052
141126
|
const transactionProxy = async (queries) => {
|
|
141053
141127
|
const results = [];
|
|
141054
|
-
const tx = sqlite.transaction(
|
|
141055
|
-
|
|
141056
|
-
|
|
141057
|
-
|
|
141058
|
-
|
|
141059
|
-
|
|
141060
|
-
|
|
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);
|
|
141061
141138
|
}
|
|
141062
|
-
results.push(result2);
|
|
141063
141139
|
}
|
|
141064
|
-
|
|
141140
|
+
);
|
|
141065
141141
|
try {
|
|
141066
141142
|
tx(queries);
|
|
141067
141143
|
} catch (error3) {
|
|
@@ -141069,7 +141145,13 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
141069
141145
|
}
|
|
141070
141146
|
return results;
|
|
141071
141147
|
};
|
|
141072
|
-
return {
|
|
141148
|
+
return {
|
|
141149
|
+
...db,
|
|
141150
|
+
packageName: "better-sqlite3",
|
|
141151
|
+
proxy,
|
|
141152
|
+
transactionProxy,
|
|
141153
|
+
migrate: migrateFn
|
|
141154
|
+
};
|
|
141073
141155
|
}
|
|
141074
141156
|
if (await checkPackage("bun")) {
|
|
141075
141157
|
console.log(withStyle.info(`Using 'bun' driver for database querying`));
|
|
@@ -141199,6 +141281,7 @@ To link your project, please refer https://docs.geldata.com/reference/cli/gel_in
|
|
|
141199
141281
|
// src/cli/commands/studio.ts
|
|
141200
141282
|
var studio_exports = {};
|
|
141201
141283
|
__export(studio_exports, {
|
|
141284
|
+
drizzleForDuckDb: () => drizzleForDuckDb,
|
|
141202
141285
|
drizzleForLibSQL: () => drizzleForLibSQL,
|
|
141203
141286
|
drizzleForMySQL: () => drizzleForMySQL,
|
|
141204
141287
|
drizzleForPostgres: () => drizzleForPostgres,
|
|
@@ -141229,7 +141312,7 @@ import { getTableConfig as singlestoreTableConfig, SingleStoreTable } from "driz
|
|
|
141229
141312
|
import { getTableConfig as sqliteTableConfig, SQLiteTable } from "drizzle-orm/sqlite-core";
|
|
141230
141313
|
import fs9 from "fs";
|
|
141231
141314
|
import { createServer } from "https";
|
|
141232
|
-
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;
|
|
141233
141316
|
var init_studio = __esm({
|
|
141234
141317
|
"src/cli/commands/studio.ts"() {
|
|
141235
141318
|
"use strict";
|
|
@@ -141451,6 +141534,23 @@ var init_studio = __esm({
|
|
|
141451
141534
|
casing: casing2
|
|
141452
141535
|
};
|
|
141453
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
|
+
};
|
|
141454
141554
|
drizzleForMySQL = async (credentials, mysqlSchema, relations, schemaFiles, casing2) => {
|
|
141455
141555
|
const { connectToMySQL: connectToMySQL2 } = await Promise.resolve().then(() => (init_connections(), connections_exports));
|
|
141456
141556
|
const { proxy, transactionProxy, benchmarkProxy, database, packageName } = await connectToMySQL2(credentials);
|