drizzle-orm 0.28.6 → 0.28.7-4e094f0
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/{alias-cf8e03cd.mjs → alias-3daea43e.mjs} +21 -12
- package/alias-3daea43e.mjs.map +1 -0
- package/aws-data-api/pg/index.cjs +1 -1
- package/aws-data-api/pg/index.mjs +2 -2
- package/batch.d.cts +8 -0
- package/batch.d.mts +8 -0
- package/batch.d.ts +8 -0
- package/better-sqlite3/index.cjs +2 -2
- package/better-sqlite3/index.mjs +2 -2
- package/bun-sqlite/index.cjs +2 -2
- package/bun-sqlite/index.mjs +2 -2
- package/d1/driver.d.cts +6 -1
- package/d1/driver.d.mts +6 -1
- package/d1/driver.d.ts +6 -1
- package/d1/index.cjs +92 -10
- package/d1/index.cjs.map +1 -1
- package/d1/index.mjs +95 -11
- package/d1/index.mjs.map +1 -1
- package/d1/session.d.cts +10 -5
- package/d1/session.d.mts +10 -5
- package/d1/session.d.ts +10 -5
- package/{index-1899b9ae.cjs → index-b3242287.cjs} +18 -12
- package/index-b3242287.cjs.map +1 -0
- package/index.cjs +1 -1
- package/index.mjs +2 -2
- package/libsql/driver.d.cts +2 -9
- package/libsql/driver.d.mts +2 -9
- package/libsql/driver.d.ts +2 -9
- package/libsql/index.cjs +13 -14
- package/libsql/index.cjs.map +1 -1
- package/libsql/index.mjs +13 -14
- package/libsql/index.mjs.map +1 -1
- package/libsql/session.d.cts +1 -1
- package/libsql/session.d.mts +1 -1
- package/libsql/session.d.ts +1 -1
- package/mysql-core/columns/bigint.d.cts +15 -6
- package/mysql-core/columns/bigint.d.mts +15 -6
- package/mysql-core/columns/bigint.d.ts +15 -6
- package/mysql-core/columns/int.d.cts +7 -4
- package/mysql-core/columns/int.d.mts +7 -4
- package/mysql-core/columns/int.d.ts +7 -4
- package/mysql-core/columns/mediumint.d.cts +5 -4
- package/mysql-core/columns/mediumint.d.mts +5 -4
- package/mysql-core/columns/mediumint.d.ts +5 -4
- package/mysql-core/columns/smallint.d.cts +5 -4
- package/mysql-core/columns/smallint.d.mts +5 -4
- package/mysql-core/columns/smallint.d.ts +5 -4
- package/mysql-core/columns/tinyint.d.cts +5 -4
- package/mysql-core/columns/tinyint.d.mts +5 -4
- package/mysql-core/columns/tinyint.d.ts +5 -4
- package/mysql-core/foreign-keys.d.cts +3 -0
- package/mysql-core/foreign-keys.d.mts +3 -0
- package/mysql-core/foreign-keys.d.ts +3 -0
- package/mysql-core/index.cjs +14 -8
- package/mysql-core/index.cjs.map +1 -1
- package/mysql-core/index.mjs +46 -31
- package/mysql-core/index.mjs.map +1 -1
- package/mysql-core/primary-keys.d.cts +15 -2
- package/mysql-core/primary-keys.d.mts +15 -2
- package/mysql-core/primary-keys.d.ts +15 -2
- package/mysql2/index.cjs +2 -2
- package/mysql2/index.mjs +2 -2
- package/neon-http/index.cjs +1 -1
- package/neon-http/index.mjs +2 -2
- package/neon-http/migrator.cjs +1 -1
- package/neon-http/migrator.mjs +1 -1
- package/neon-serverless/index.cjs +1 -1
- package/neon-serverless/index.mjs +2 -2
- package/node-postgres/index.cjs +1 -1
- package/node-postgres/index.mjs +2 -2
- package/package.json +2 -2
- package/pg-core/foreign-keys.d.cts +3 -0
- package/pg-core/foreign-keys.d.mts +3 -0
- package/pg-core/foreign-keys.d.ts +3 -0
- package/pg-core/index.cjs +1 -1
- package/pg-core/index.mjs +3 -3
- package/pg-core/primary-keys.d.cts +15 -2
- package/pg-core/primary-keys.d.mts +15 -2
- package/pg-core/primary-keys.d.ts +15 -2
- package/planetscale-serverless/index.cjs +2 -2
- package/planetscale-serverless/index.mjs +2 -2
- package/postgres-js/index.cjs +1 -1
- package/postgres-js/index.mjs +2 -2
- package/{session-6ea797a6.mjs → session-18219217.mjs} +2 -2
- package/{session-6ea797a6.mjs.map → session-18219217.mjs.map} +1 -1
- package/{session-90f70450.cjs → session-35313e76.cjs} +26 -17
- package/session-35313e76.cjs.map +1 -0
- package/{session-afae3551.mjs → session-9a278845.mjs} +16 -12
- package/session-9a278845.mjs.map +1 -0
- package/sql-js/index.cjs +2 -2
- package/sql-js/index.mjs +2 -2
- package/sqlite-core/foreign-keys.d.cts +17 -0
- package/sqlite-core/foreign-keys.d.mts +17 -0
- package/sqlite-core/foreign-keys.d.ts +17 -0
- package/sqlite-core/index.cjs +2 -2
- package/sqlite-core/index.mjs +17 -9
- package/sqlite-core/index.mjs.map +1 -1
- package/sqlite-core/primary-keys.d.cts +15 -2
- package/sqlite-core/primary-keys.d.mts +15 -2
- package/sqlite-core/primary-keys.d.ts +15 -2
- package/sqlite-proxy/index.cjs +2 -2
- package/sqlite-proxy/index.mjs +2 -2
- package/sqlite-proxy/migrator.cjs +1 -1
- package/sqlite-proxy/migrator.mjs +1 -1
- package/vercel-postgres/index.cjs +1 -1
- package/vercel-postgres/index.mjs +2 -2
- package/version.cjs +1 -1
- package/version.mjs +1 -1
- package/{view-975e4aa4.cjs → view-1bf2c093.cjs} +36 -29
- package/view-1bf2c093.cjs.map +1 -0
- package/{view-23898f21.mjs → view-96648242.mjs} +8 -7
- package/view-96648242.mjs.map +1 -0
- package/alias-cf8e03cd.mjs.map +0 -1
- package/index-1899b9ae.cjs.map +0 -1
- package/session-90f70450.cjs.map +0 -1
- package/session-afae3551.mjs.map +0 -1
- package/view-23898f21.mjs.map +0 -1
- package/view-975e4aa4.cjs.map +0 -1
package/d1/index.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('../index-
|
|
4
|
-
var session = require('../session-
|
|
3
|
+
var index = require('../index-b3242287.cjs');
|
|
4
|
+
var session = require('../session-35313e76.cjs');
|
|
5
5
|
|
|
6
6
|
/// <reference types="@cloudflare/workers-types" />
|
|
7
|
-
var _a, _b, _c;
|
|
7
|
+
var _a$1, _b, _c;
|
|
8
8
|
class SQLiteD1Session extends session.SQLiteSession {
|
|
9
9
|
constructor(client, dialect, schema, options = {}) {
|
|
10
10
|
super(dialect);
|
|
@@ -17,6 +17,80 @@ class SQLiteD1Session extends session.SQLiteSession {
|
|
|
17
17
|
const stmt = this.client.prepare(query.sql);
|
|
18
18
|
return new PreparedQuery(stmt, query.sql, query.params, this.logger, fields, executeMethod, customResultMapper);
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287
|
|
22
|
+
* It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.
|
|
23
|
+
* @param results
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
d1ToRawMapping(results) {
|
|
27
|
+
const rows = [];
|
|
28
|
+
for (const row of results) {
|
|
29
|
+
const entry = Object.keys(row).map((k) => row[k]);
|
|
30
|
+
rows.push(entry);
|
|
31
|
+
}
|
|
32
|
+
return rows;
|
|
33
|
+
}
|
|
34
|
+
/*override */ batch(queries) {
|
|
35
|
+
const queryToType = [];
|
|
36
|
+
const builtQueries = queries.map((query) => {
|
|
37
|
+
if (index.is(query, (session.SQLiteSelect))) {
|
|
38
|
+
const prepared = query.prepare();
|
|
39
|
+
prepared.fields === undefined
|
|
40
|
+
? queryToType.push({ mode: 'all' })
|
|
41
|
+
: queryToType.push({
|
|
42
|
+
mode: 'all_mapped',
|
|
43
|
+
config: { fields: prepared.fields, joinsNotNullableMap: prepared.joinsNotNullableMap },
|
|
44
|
+
});
|
|
45
|
+
return prepared.stmt.bind(...prepared.params);
|
|
46
|
+
}
|
|
47
|
+
else if (index.is(query, (session.SQLiteInsert)) || index.is(query, (session.SQLiteUpdate))
|
|
48
|
+
|| index.is(query, (session.SQLiteDelete))) {
|
|
49
|
+
const prepared = query.prepare();
|
|
50
|
+
queryToType.push(query.config.returning
|
|
51
|
+
? {
|
|
52
|
+
mode: 'all_mapped',
|
|
53
|
+
config: { fields: query.config.returning },
|
|
54
|
+
}
|
|
55
|
+
: { mode: 'raw' });
|
|
56
|
+
return prepared.stmt.bind(...prepared.params);
|
|
57
|
+
}
|
|
58
|
+
else if (index.is(query, session.SQLiteRaw)) {
|
|
59
|
+
const builtQuery = this.dialect.sqlToQuery(query.getSQL());
|
|
60
|
+
queryToType.push(query.config.action === 'run' ? { mode: 'raw' } : { mode: query.config.action });
|
|
61
|
+
return this.client.prepare(builtQuery.sql).bind(...builtQuery.params);
|
|
62
|
+
}
|
|
63
|
+
else if (index.is(query, session.SQLiteRelationalQuery)) {
|
|
64
|
+
const preparedRqb = query.prepare();
|
|
65
|
+
queryToType.push({ mode: 'rqb', mapper: preparedRqb.customResultMapper });
|
|
66
|
+
return preparedRqb.stmt.bind(...preparedRqb.params);
|
|
67
|
+
}
|
|
68
|
+
throw new index.DrizzleError('You can use only drizzle queries in D1 batch api');
|
|
69
|
+
});
|
|
70
|
+
const res = this.client.batch(builtQueries).then((stmt) => stmt.map(({ results }, index$1) => {
|
|
71
|
+
const action = queryToType[index$1];
|
|
72
|
+
if (action.mode === 'all') {
|
|
73
|
+
return results;
|
|
74
|
+
}
|
|
75
|
+
if (action.mode === 'all_mapped') {
|
|
76
|
+
const mappedRows = this.d1ToRawMapping(results);
|
|
77
|
+
return mappedRows.map((row) => {
|
|
78
|
+
return index.mapResultRow(action.config.fields, row, action.config.joinsNotNullableMap);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
if (action.mode === 'get') {
|
|
82
|
+
return results[0];
|
|
83
|
+
}
|
|
84
|
+
if (action.mode === 'values') {
|
|
85
|
+
return this.d1ToRawMapping(results);
|
|
86
|
+
}
|
|
87
|
+
if (action.mode === 'raw') {
|
|
88
|
+
return stmt[index$1];
|
|
89
|
+
}
|
|
90
|
+
return action.mapper(this.d1ToRawMapping(results));
|
|
91
|
+
}));
|
|
92
|
+
return res;
|
|
93
|
+
}
|
|
20
94
|
async transaction(transaction, config) {
|
|
21
95
|
const tx = new D1Transaction('async', this.dialect, this, this.schema);
|
|
22
96
|
await this.run(index.sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));
|
|
@@ -31,8 +105,8 @@ class SQLiteD1Session extends session.SQLiteSession {
|
|
|
31
105
|
}
|
|
32
106
|
}
|
|
33
107
|
}
|
|
34
|
-
_a = index.entityKind;
|
|
35
|
-
SQLiteD1Session[_a] = 'SQLiteD1Session';
|
|
108
|
+
_a$1 = index.entityKind;
|
|
109
|
+
SQLiteD1Session[_a$1] = 'SQLiteD1Session';
|
|
36
110
|
class D1Transaction extends session.SQLiteTransaction {
|
|
37
111
|
async transaction(transaction) {
|
|
38
112
|
const savepointName = `sp${this.nestedIndex}`;
|
|
@@ -54,12 +128,12 @@ D1Transaction[_b] = 'D1Transaction';
|
|
|
54
128
|
class PreparedQuery extends session.PreparedQuery {
|
|
55
129
|
constructor(stmt, queryString, params, logger, fields, executeMethod, customResultMapper) {
|
|
56
130
|
super('async', executeMethod);
|
|
57
|
-
this.stmt = stmt;
|
|
58
131
|
this.queryString = queryString;
|
|
59
|
-
this.params = params;
|
|
60
132
|
this.logger = logger;
|
|
61
|
-
this.fields = fields;
|
|
62
133
|
this.customResultMapper = customResultMapper;
|
|
134
|
+
this.fields = fields;
|
|
135
|
+
this.stmt = stmt;
|
|
136
|
+
this.params = params;
|
|
63
137
|
}
|
|
64
138
|
run(placeholderValues) {
|
|
65
139
|
const params = index.fillPlaceholders(this.params, placeholderValues ?? {});
|
|
@@ -104,7 +178,14 @@ class PreparedQuery extends session.PreparedQuery {
|
|
|
104
178
|
_c = index.entityKind;
|
|
105
179
|
PreparedQuery[_c] = 'D1PreparedQuery';
|
|
106
180
|
|
|
107
|
-
|
|
181
|
+
var _a;
|
|
182
|
+
class DrizzleD1Database extends session.BaseSQLiteDatabase {
|
|
183
|
+
async batch(batch) {
|
|
184
|
+
return await this.session.batch(batch);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
_a = index.entityKind;
|
|
188
|
+
DrizzleD1Database[_a] = 'LibSQLDatabase';
|
|
108
189
|
function drizzle(client, config = {}) {
|
|
109
190
|
const dialect = new session.SQLiteAsyncDialect();
|
|
110
191
|
let logger;
|
|
@@ -124,10 +205,11 @@ function drizzle(client, config = {}) {
|
|
|
124
205
|
};
|
|
125
206
|
}
|
|
126
207
|
const session$1 = new SQLiteD1Session(client, dialect, schema, { logger });
|
|
127
|
-
return new
|
|
208
|
+
return new DrizzleD1Database('async', dialect, session$1, schema);
|
|
128
209
|
}
|
|
129
210
|
|
|
130
211
|
exports.D1Transaction = D1Transaction;
|
|
212
|
+
exports.DrizzleD1Database = DrizzleD1Database;
|
|
131
213
|
exports.PreparedQuery = PreparedQuery;
|
|
132
214
|
exports.SQLiteD1Session = SQLiteD1Session;
|
|
133
215
|
exports.drizzle = drizzle;
|
package/d1/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/d1/session.ts","../../src/d1/driver.ts"],"sourcesContent":[null,null],"names":["SQLiteSession","NoopLogger","sql","entityKind","SQLiteTransaction","PreparedQueryBase","fillPlaceholders","
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/d1/session.ts","../../src/d1/driver.ts"],"sourcesContent":[null,null],"names":["SQLiteSession","NoopLogger","is","SQLiteSelect","SQLiteInsert","SQLiteUpdate","SQLiteDelete","SQLiteRaw","SQLiteRelationalQuery","DrizzleError","index","mapResultRow","sql","entityKind","_a","SQLiteTransaction","PreparedQueryBase","fillPlaceholders","BaseSQLiteDatabase","SQLiteAsyncDialect","DefaultLogger","extractTablesRelationalConfig","createTableRelationsHelpers","session"],"mappings":"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"}
|
package/d1/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NoopLogger, DefaultLogger } from '../index.mjs';
|
|
2
|
-
import { e as entityKind,
|
|
3
|
-
import { S as SQLiteSession, a as SQLiteTransaction, P as PreparedQuery$1, B as BaseSQLiteDatabase,
|
|
2
|
+
import { e as entityKind, i as is, D as DrizzleError, m as mapResultRow, s as sql, f as fillPlaceholders, a as extractTablesRelationalConfig, c as createTableRelationsHelpers } from '../alias-3daea43e.mjs';
|
|
3
|
+
import { S as SQLiteSession, c as SQLiteSelect, d as SQLiteInsert, e as SQLiteUpdate, f as SQLiteDelete, g as SQLiteRaw, h as SQLiteRelationalQuery, a as SQLiteTransaction, P as PreparedQuery$1, B as BaseSQLiteDatabase, i as SQLiteAsyncDialect } from '../session-9a278845.mjs';
|
|
4
4
|
|
|
5
5
|
/// <reference types="@cloudflare/workers-types" />
|
|
6
6
|
class SQLiteD1Session extends SQLiteSession {
|
|
@@ -20,6 +20,80 @@ class SQLiteD1Session extends SQLiteSession {
|
|
|
20
20
|
const stmt = this.client.prepare(query.sql);
|
|
21
21
|
return new PreparedQuery(stmt, query.sql, query.params, this.logger, fields, executeMethod, customResultMapper);
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287
|
|
25
|
+
* It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.
|
|
26
|
+
* @param results
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
d1ToRawMapping(results) {
|
|
30
|
+
const rows = [];
|
|
31
|
+
for (const row of results) {
|
|
32
|
+
const entry = Object.keys(row).map((k) => row[k]);
|
|
33
|
+
rows.push(entry);
|
|
34
|
+
}
|
|
35
|
+
return rows;
|
|
36
|
+
}
|
|
37
|
+
/*override */ batch(queries) {
|
|
38
|
+
const queryToType = [];
|
|
39
|
+
const builtQueries = queries.map((query) => {
|
|
40
|
+
if (is(query, (SQLiteSelect))) {
|
|
41
|
+
const prepared = query.prepare();
|
|
42
|
+
prepared.fields === undefined
|
|
43
|
+
? queryToType.push({ mode: 'all' })
|
|
44
|
+
: queryToType.push({
|
|
45
|
+
mode: 'all_mapped',
|
|
46
|
+
config: { fields: prepared.fields, joinsNotNullableMap: prepared.joinsNotNullableMap },
|
|
47
|
+
});
|
|
48
|
+
return prepared.stmt.bind(...prepared.params);
|
|
49
|
+
}
|
|
50
|
+
else if (is(query, (SQLiteInsert)) || is(query, (SQLiteUpdate))
|
|
51
|
+
|| is(query, (SQLiteDelete))) {
|
|
52
|
+
const prepared = query.prepare();
|
|
53
|
+
queryToType.push(query.config.returning
|
|
54
|
+
? {
|
|
55
|
+
mode: 'all_mapped',
|
|
56
|
+
config: { fields: query.config.returning },
|
|
57
|
+
}
|
|
58
|
+
: { mode: 'raw' });
|
|
59
|
+
return prepared.stmt.bind(...prepared.params);
|
|
60
|
+
}
|
|
61
|
+
else if (is(query, SQLiteRaw)) {
|
|
62
|
+
const builtQuery = this.dialect.sqlToQuery(query.getSQL());
|
|
63
|
+
queryToType.push(query.config.action === 'run' ? { mode: 'raw' } : { mode: query.config.action });
|
|
64
|
+
return this.client.prepare(builtQuery.sql).bind(...builtQuery.params);
|
|
65
|
+
}
|
|
66
|
+
else if (is(query, SQLiteRelationalQuery)) {
|
|
67
|
+
const preparedRqb = query.prepare();
|
|
68
|
+
queryToType.push({ mode: 'rqb', mapper: preparedRqb.customResultMapper });
|
|
69
|
+
return preparedRqb.stmt.bind(...preparedRqb.params);
|
|
70
|
+
}
|
|
71
|
+
throw new DrizzleError('You can use only drizzle queries in D1 batch api');
|
|
72
|
+
});
|
|
73
|
+
const res = this.client.batch(builtQueries).then((stmt) => stmt.map(({ results }, index) => {
|
|
74
|
+
const action = queryToType[index];
|
|
75
|
+
if (action.mode === 'all') {
|
|
76
|
+
return results;
|
|
77
|
+
}
|
|
78
|
+
if (action.mode === 'all_mapped') {
|
|
79
|
+
const mappedRows = this.d1ToRawMapping(results);
|
|
80
|
+
return mappedRows.map((row) => {
|
|
81
|
+
return mapResultRow(action.config.fields, row, action.config.joinsNotNullableMap);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
if (action.mode === 'get') {
|
|
85
|
+
return results[0];
|
|
86
|
+
}
|
|
87
|
+
if (action.mode === 'values') {
|
|
88
|
+
return this.d1ToRawMapping(results);
|
|
89
|
+
}
|
|
90
|
+
if (action.mode === 'raw') {
|
|
91
|
+
return stmt[index];
|
|
92
|
+
}
|
|
93
|
+
return action.mapper(this.d1ToRawMapping(results));
|
|
94
|
+
}));
|
|
95
|
+
return res;
|
|
96
|
+
}
|
|
23
97
|
async transaction(transaction, config) {
|
|
24
98
|
const tx = new D1Transaction('async', this.dialect, this, this.schema);
|
|
25
99
|
await this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));
|
|
@@ -52,21 +126,25 @@ class D1Transaction extends SQLiteTransaction {
|
|
|
52
126
|
}
|
|
53
127
|
}
|
|
54
128
|
class PreparedQuery extends PreparedQuery$1 {
|
|
55
|
-
stmt;
|
|
56
129
|
queryString;
|
|
57
|
-
params;
|
|
58
130
|
logger;
|
|
59
|
-
fields;
|
|
60
|
-
customResultMapper;
|
|
61
131
|
static [entityKind] = 'D1PreparedQuery';
|
|
132
|
+
/** @internal */
|
|
133
|
+
customResultMapper;
|
|
134
|
+
/** @internal */
|
|
135
|
+
fields;
|
|
136
|
+
/** @internal */
|
|
137
|
+
params;
|
|
138
|
+
/** @internal */
|
|
139
|
+
stmt;
|
|
62
140
|
constructor(stmt, queryString, params, logger, fields, executeMethod, customResultMapper) {
|
|
63
141
|
super('async', executeMethod);
|
|
64
|
-
this.stmt = stmt;
|
|
65
142
|
this.queryString = queryString;
|
|
66
|
-
this.params = params;
|
|
67
143
|
this.logger = logger;
|
|
68
|
-
this.fields = fields;
|
|
69
144
|
this.customResultMapper = customResultMapper;
|
|
145
|
+
this.fields = fields;
|
|
146
|
+
this.stmt = stmt;
|
|
147
|
+
this.params = params;
|
|
70
148
|
}
|
|
71
149
|
run(placeholderValues) {
|
|
72
150
|
const params = fillPlaceholders(this.params, placeholderValues ?? {});
|
|
@@ -110,6 +188,12 @@ class PreparedQuery extends PreparedQuery$1 {
|
|
|
110
188
|
}
|
|
111
189
|
|
|
112
190
|
/// <reference types="@cloudflare/workers-types" />
|
|
191
|
+
class DrizzleD1Database extends BaseSQLiteDatabase {
|
|
192
|
+
static [entityKind] = 'LibSQLDatabase';
|
|
193
|
+
async batch(batch) {
|
|
194
|
+
return await this.session.batch(batch);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
113
197
|
function drizzle(client, config = {}) {
|
|
114
198
|
const dialect = new SQLiteAsyncDialect();
|
|
115
199
|
let logger;
|
|
@@ -129,8 +213,8 @@ function drizzle(client, config = {}) {
|
|
|
129
213
|
};
|
|
130
214
|
}
|
|
131
215
|
const session = new SQLiteD1Session(client, dialect, schema, { logger });
|
|
132
|
-
return new
|
|
216
|
+
return new DrizzleD1Database('async', dialect, session, schema);
|
|
133
217
|
}
|
|
134
218
|
|
|
135
|
-
export { D1Transaction, PreparedQuery, SQLiteD1Session, drizzle };
|
|
219
|
+
export { D1Transaction, DrizzleD1Database, PreparedQuery, SQLiteD1Session, drizzle };
|
|
136
220
|
//# sourceMappingURL=index.mjs.map
|
package/d1/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/d1/session.ts","../../src/d1/driver.ts"],"sourcesContent":[null,null],"names":["PreparedQueryBase"],"mappings":";;;;AAAA;
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/d1/session.ts","../../src/d1/driver.ts"],"sourcesContent":[null,null],"names":["PreparedQueryBase"],"mappings":"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"}
|
package/d1/session.d.cts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="@cloudflare/workers-types" />
|
|
2
|
+
import type { BatchParameters } from '../batch.js';
|
|
2
3
|
import { entityKind } from '../entity.js';
|
|
3
4
|
import type { Logger } from '../logger.js';
|
|
4
5
|
import { type RelationalSchemaConfig, type TablesRelationalConfig } from '../relations.js';
|
|
@@ -20,6 +21,14 @@ export declare class SQLiteD1Session<TFullSchema extends Record<string, unknown>
|
|
|
20
21
|
private logger;
|
|
21
22
|
constructor(client: D1Database, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: SQLiteD1SessionOptions);
|
|
22
23
|
prepareQuery(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: unknown[][]) => unknown): PreparedQuery;
|
|
24
|
+
/**
|
|
25
|
+
* This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287
|
|
26
|
+
* It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.
|
|
27
|
+
* @param results
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
private d1ToRawMapping;
|
|
31
|
+
batch<U extends BatchParameters, T extends Readonly<[U, ...U[]]>>(queries: T): Promise<any[]>;
|
|
23
32
|
transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TSchema>) => T | Promise<T>, config?: SQLiteTransactionConfig): Promise<T>;
|
|
24
33
|
}
|
|
25
34
|
export declare class D1Transaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'async', D1Result, TFullSchema, TSchema> {
|
|
@@ -34,14 +43,10 @@ export declare class PreparedQuery<T extends PreparedQueryConfig = PreparedQuery
|
|
|
34
43
|
values: T['values'];
|
|
35
44
|
execute: T['execute'];
|
|
36
45
|
}> {
|
|
37
|
-
private stmt;
|
|
38
46
|
private queryString;
|
|
39
|
-
private params;
|
|
40
47
|
private logger;
|
|
41
|
-
private fields;
|
|
42
|
-
private customResultMapper?;
|
|
43
48
|
static readonly [entityKind]: string;
|
|
44
|
-
constructor(stmt: D1PreparedStatement, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (
|
|
49
|
+
constructor(stmt: D1PreparedStatement, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: unknown[][]) => unknown);
|
|
45
50
|
run(placeholderValues?: Record<string, unknown>): Promise<D1Result>;
|
|
46
51
|
all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
|
|
47
52
|
get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
|
package/d1/session.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="@cloudflare/workers-types" />
|
|
2
|
+
import type { BatchParameters } from '../batch.js';
|
|
2
3
|
import { entityKind } from '../entity.js';
|
|
3
4
|
import type { Logger } from '../logger.js';
|
|
4
5
|
import { type RelationalSchemaConfig, type TablesRelationalConfig } from '../relations.js';
|
|
@@ -20,6 +21,14 @@ export declare class SQLiteD1Session<TFullSchema extends Record<string, unknown>
|
|
|
20
21
|
private logger;
|
|
21
22
|
constructor(client: D1Database, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: SQLiteD1SessionOptions);
|
|
22
23
|
prepareQuery(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: unknown[][]) => unknown): PreparedQuery;
|
|
24
|
+
/**
|
|
25
|
+
* This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287
|
|
26
|
+
* It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.
|
|
27
|
+
* @param results
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
private d1ToRawMapping;
|
|
31
|
+
batch<U extends BatchParameters, T extends Readonly<[U, ...U[]]>>(queries: T): Promise<any[]>;
|
|
23
32
|
transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TSchema>) => T | Promise<T>, config?: SQLiteTransactionConfig): Promise<T>;
|
|
24
33
|
}
|
|
25
34
|
export declare class D1Transaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'async', D1Result, TFullSchema, TSchema> {
|
|
@@ -34,14 +43,10 @@ export declare class PreparedQuery<T extends PreparedQueryConfig = PreparedQuery
|
|
|
34
43
|
values: T['values'];
|
|
35
44
|
execute: T['execute'];
|
|
36
45
|
}> {
|
|
37
|
-
private stmt;
|
|
38
46
|
private queryString;
|
|
39
|
-
private params;
|
|
40
47
|
private logger;
|
|
41
|
-
private fields;
|
|
42
|
-
private customResultMapper?;
|
|
43
48
|
static readonly [entityKind]: string;
|
|
44
|
-
constructor(stmt: D1PreparedStatement, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (
|
|
49
|
+
constructor(stmt: D1PreparedStatement, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: unknown[][]) => unknown);
|
|
45
50
|
run(placeholderValues?: Record<string, unknown>): Promise<D1Result>;
|
|
46
51
|
all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
|
|
47
52
|
get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
|
package/d1/session.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="@cloudflare/workers-types" />
|
|
2
|
+
import type { BatchParameters } from '../batch.js';
|
|
2
3
|
import { entityKind } from '../entity.js';
|
|
3
4
|
import type { Logger } from '../logger.js';
|
|
4
5
|
import { type RelationalSchemaConfig, type TablesRelationalConfig } from '../relations.js';
|
|
@@ -20,6 +21,14 @@ export declare class SQLiteD1Session<TFullSchema extends Record<string, unknown>
|
|
|
20
21
|
private logger;
|
|
21
22
|
constructor(client: D1Database, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: SQLiteD1SessionOptions);
|
|
22
23
|
prepareQuery(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: unknown[][]) => unknown): PreparedQuery;
|
|
24
|
+
/**
|
|
25
|
+
* This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287
|
|
26
|
+
* It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.
|
|
27
|
+
* @param results
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
private d1ToRawMapping;
|
|
31
|
+
batch<U extends BatchParameters, T extends Readonly<[U, ...U[]]>>(queries: T): Promise<any[]>;
|
|
23
32
|
transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TSchema>) => T | Promise<T>, config?: SQLiteTransactionConfig): Promise<T>;
|
|
24
33
|
}
|
|
25
34
|
export declare class D1Transaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'async', D1Result, TFullSchema, TSchema> {
|
|
@@ -34,14 +43,10 @@ export declare class PreparedQuery<T extends PreparedQueryConfig = PreparedQuery
|
|
|
34
43
|
values: T['values'];
|
|
35
44
|
execute: T['execute'];
|
|
36
45
|
}> {
|
|
37
|
-
private stmt;
|
|
38
46
|
private queryString;
|
|
39
|
-
private params;
|
|
40
47
|
private logger;
|
|
41
|
-
private fields;
|
|
42
|
-
private customResultMapper?;
|
|
43
48
|
static readonly [entityKind]: string;
|
|
44
|
-
constructor(stmt: D1PreparedStatement, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (
|
|
49
|
+
constructor(stmt: D1PreparedStatement, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: unknown[][]) => unknown);
|
|
45
50
|
run(placeholderValues?: Record<string, unknown>): Promise<D1Result>;
|
|
46
51
|
all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
|
|
47
52
|
get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
|
|
@@ -613,8 +613,8 @@ class ForeignKeyBuilder {
|
|
|
613
613
|
/** @internal */
|
|
614
614
|
this._onDelete = 'no action';
|
|
615
615
|
this.reference = () => {
|
|
616
|
-
const { columns, foreignColumns } = config();
|
|
617
|
-
return { columns, foreignTable: foreignColumns[0].table, foreignColumns };
|
|
616
|
+
const { name, columns, foreignColumns } = config();
|
|
617
|
+
return { name, columns, foreignTable: foreignColumns[0].table, foreignColumns };
|
|
618
618
|
};
|
|
619
619
|
if (actions) {
|
|
620
620
|
this._onUpdate = actions.onUpdate;
|
|
@@ -644,7 +644,7 @@ class ForeignKey {
|
|
|
644
644
|
this.onDelete = builder._onDelete;
|
|
645
645
|
}
|
|
646
646
|
getName() {
|
|
647
|
-
const { columns, foreignColumns } = this.reference();
|
|
647
|
+
const { name, columns, foreignColumns } = this.reference();
|
|
648
648
|
const columnNames = columns.map((column) => column.name);
|
|
649
649
|
const foreignColumnNames = foreignColumns.map((column) => column.name);
|
|
650
650
|
const chunks = [
|
|
@@ -653,15 +653,16 @@ class ForeignKey {
|
|
|
653
653
|
foreignColumns[0].table[PgTable.Symbol.Name],
|
|
654
654
|
...foreignColumnNames,
|
|
655
655
|
];
|
|
656
|
-
return `${chunks.join('_')}_fk`;
|
|
656
|
+
return name ?? `${chunks.join('_')}_fk`;
|
|
657
657
|
}
|
|
658
658
|
}
|
|
659
659
|
_b$D = entityKind;
|
|
660
660
|
ForeignKey[_b$D] = 'PgForeignKey';
|
|
661
661
|
function foreignKey(config) {
|
|
662
662
|
function mappedConfig() {
|
|
663
|
-
const { columns, foreignColumns } = config;
|
|
663
|
+
const { name, columns, foreignColumns } = config;
|
|
664
664
|
return {
|
|
665
|
+
name,
|
|
665
666
|
columns,
|
|
666
667
|
foreignColumns,
|
|
667
668
|
};
|
|
@@ -743,27 +744,32 @@ function uniqueIndex(name) {
|
|
|
743
744
|
}
|
|
744
745
|
|
|
745
746
|
var _a$J, _b$B;
|
|
746
|
-
function primaryKey(...
|
|
747
|
-
|
|
747
|
+
function primaryKey(...config) {
|
|
748
|
+
if (config[0].columns) {
|
|
749
|
+
return new PrimaryKeyBuilder(config[0].columns, config[0].name);
|
|
750
|
+
}
|
|
751
|
+
return new PrimaryKeyBuilder(config);
|
|
748
752
|
}
|
|
749
753
|
class PrimaryKeyBuilder {
|
|
750
|
-
constructor(columns) {
|
|
754
|
+
constructor(columns, name) {
|
|
751
755
|
this.columns = columns;
|
|
756
|
+
this.name = name;
|
|
752
757
|
}
|
|
753
758
|
/** @internal */
|
|
754
759
|
build(table) {
|
|
755
|
-
return new PrimaryKey(table, this.columns);
|
|
760
|
+
return new PrimaryKey(table, this.columns, this.name);
|
|
756
761
|
}
|
|
757
762
|
}
|
|
758
763
|
_a$J = entityKind;
|
|
759
764
|
PrimaryKeyBuilder[_a$J] = 'PgPrimaryKeyBuilder';
|
|
760
765
|
class PrimaryKey {
|
|
761
|
-
constructor(table, columns) {
|
|
766
|
+
constructor(table, columns, name) {
|
|
762
767
|
this.table = table;
|
|
763
768
|
this.columns = columns;
|
|
769
|
+
this.name = name;
|
|
764
770
|
}
|
|
765
771
|
getName() {
|
|
766
|
-
return `${this.table[PgTable.Symbol.Name]}_${this.columns.map((column) => column.name).join('_')}_pk`;
|
|
772
|
+
return this.name ?? `${this.table[PgTable.Symbol.Name]}_${this.columns.map((column) => column.name).join('_')}_pk`;
|
|
767
773
|
}
|
|
768
774
|
}
|
|
769
775
|
_b$B = entityKind;
|
|
@@ -5396,4 +5402,4 @@ exports.uniqueIndex = uniqueIndex;
|
|
|
5396
5402
|
exports.uniqueKeyName = uniqueKeyName;
|
|
5397
5403
|
exports.uuid = uuid;
|
|
5398
5404
|
exports.varchar = varchar;
|
|
5399
|
-
//# sourceMappingURL=index-
|
|
5405
|
+
//# sourceMappingURL=index-b3242287.cjs.map
|