@arikajs/database 0.0.4 → 0.0.6
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/README.md +392 -25
- package/dist/Connections/MongoDBConnection.d.ts +81 -0
- package/dist/Connections/MongoDBConnection.d.ts.map +1 -0
- package/dist/Connections/MongoDBConnection.js +203 -0
- package/dist/Connections/MongoDBConnection.js.map +1 -0
- package/dist/Connections/MySQLConnection.d.ts +1 -0
- package/dist/Connections/MySQLConnection.d.ts.map +1 -1
- package/dist/Connections/MySQLConnection.js +47 -10
- package/dist/Connections/MySQLConnection.js.map +1 -1
- package/dist/Connections/PostgreSQLConnection.d.ts +1 -0
- package/dist/Connections/PostgreSQLConnection.d.ts.map +1 -1
- package/dist/Connections/PostgreSQLConnection.js +43 -9
- package/dist/Connections/PostgreSQLConnection.js.map +1 -1
- package/dist/Connections/SQLiteConnection.d.ts +1 -0
- package/dist/Connections/SQLiteConnection.d.ts.map +1 -1
- package/dist/Connections/SQLiteConnection.js +38 -7
- package/dist/Connections/SQLiteConnection.js.map +1 -1
- package/dist/Contracts/Database.d.ts +71 -4
- package/dist/Contracts/Database.d.ts.map +1 -1
- package/dist/Contracts/Schema.d.ts +4 -0
- package/dist/Contracts/Schema.d.ts.map +1 -1
- package/dist/Database.d.ts +30 -3
- package/dist/Database.d.ts.map +1 -1
- package/dist/Database.js +39 -1
- package/dist/Database.js.map +1 -1
- package/dist/DatabaseManager.d.ts +17 -3
- package/dist/DatabaseManager.d.ts.map +1 -1
- package/dist/DatabaseManager.js +27 -11
- package/dist/DatabaseManager.js.map +1 -1
- package/dist/Migrations/Migrator.d.ts.map +1 -1
- package/dist/Migrations/Migrator.js +35 -3
- package/dist/Migrations/Migrator.js.map +1 -1
- package/dist/Model/GlobalScope.d.ts +44 -0
- package/dist/Model/GlobalScope.d.ts.map +1 -0
- package/dist/Model/GlobalScope.js +64 -0
- package/dist/Model/GlobalScope.js.map +1 -0
- package/dist/Model/Model.d.ts +168 -4
- package/dist/Model/Model.d.ts.map +1 -1
- package/dist/Model/Model.js +476 -16
- package/dist/Model/Model.js.map +1 -1
- package/dist/Model/Observer.d.ts +39 -0
- package/dist/Model/Observer.d.ts.map +1 -0
- package/dist/Model/Observer.js +48 -0
- package/dist/Model/Observer.js.map +1 -0
- package/dist/Model/Relations.d.ts +201 -10
- package/dist/Model/Relations.d.ts.map +1 -1
- package/dist/Model/Relations.js +472 -27
- package/dist/Model/Relations.js.map +1 -1
- package/dist/Query/Expression.d.ts +16 -0
- package/dist/Query/Expression.d.ts.map +1 -0
- package/dist/Query/Expression.js +25 -0
- package/dist/Query/Expression.js.map +1 -0
- package/dist/Query/QueryBuilder.d.ts +64 -6
- package/dist/Query/QueryBuilder.d.ts.map +1 -1
- package/dist/Query/QueryBuilder.js +234 -15
- package/dist/Query/QueryBuilder.js.map +1 -1
- package/dist/Query/QueryLogger.d.ts +55 -0
- package/dist/Query/QueryLogger.d.ts.map +1 -0
- package/dist/Query/QueryLogger.js +82 -0
- package/dist/Query/QueryLogger.js.map +1 -0
- package/dist/Schema/Grammars/Grammar.d.ts +5 -0
- package/dist/Schema/Grammars/Grammar.d.ts.map +1 -1
- package/dist/Schema/Grammars/Grammar.js.map +1 -1
- package/dist/Schema/Grammars/MySQLGrammar.d.ts +1 -0
- package/dist/Schema/Grammars/MySQLGrammar.d.ts.map +1 -1
- package/dist/Schema/Grammars/MySQLGrammar.js +42 -0
- package/dist/Schema/Grammars/MySQLGrammar.js.map +1 -1
- package/dist/Schema/Grammars/PostgreSQLGrammar.d.ts +1 -0
- package/dist/Schema/Grammars/PostgreSQLGrammar.d.ts.map +1 -1
- package/dist/Schema/Grammars/PostgreSQLGrammar.js +46 -0
- package/dist/Schema/Grammars/PostgreSQLGrammar.js.map +1 -1
- package/dist/Schema/Grammars/SQLiteGrammar.d.ts +1 -0
- package/dist/Schema/Grammars/SQLiteGrammar.d.ts.map +1 -1
- package/dist/Schema/Grammars/SQLiteGrammar.js +31 -0
- package/dist/Schema/Grammars/SQLiteGrammar.js.map +1 -1
- package/dist/Schema/Schema.d.ts +6 -0
- package/dist/Schema/Schema.d.ts.map +1 -1
- package/dist/Schema/Schema.js +10 -0
- package/dist/Schema/Schema.js.map +1 -1
- package/dist/Schema/SchemaBuilder.d.ts +4 -0
- package/dist/Schema/SchemaBuilder.d.ts.map +1 -1
- package/dist/Schema/SchemaBuilder.js +15 -0
- package/dist/Schema/SchemaBuilder.js.map +1 -1
- package/dist/Transactions/TransactionManager.d.ts +28 -0
- package/dist/Transactions/TransactionManager.d.ts.map +1 -0
- package/dist/Transactions/TransactionManager.js +68 -0
- package/dist/Transactions/TransactionManager.js.map +1 -0
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -1
- package/dist/index.js.map +1 -1
- package/package.json +10 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Expression.js","sourceRoot":"","sources":["../../src/Query/Expression.ts"],"names":[],"mappings":";;;AACA;;GAEG;AACH,MAAa,UAAU;IACnB,YAAsB,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;IAAI,CAAC;IAEjD;;OAEG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnC,CAAC;CACJ;AAhBD,gCAgBC"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { Connection } from '../Contracts/Database';
|
|
2
|
-
import {
|
|
1
|
+
import { Connection, QueryBuilder as QueryBuilderInterface } from '../Contracts/Database';
|
|
2
|
+
import { Expression } from './Expression';
|
|
3
3
|
export declare class QueryBuilder implements QueryBuilderInterface {
|
|
4
4
|
private connection;
|
|
5
5
|
private tableName?;
|
|
6
6
|
private selectColumns;
|
|
7
|
+
private selectRawExpressions;
|
|
7
8
|
private whereClauses;
|
|
8
9
|
private orderByColumns;
|
|
9
10
|
private limitValue?;
|
|
10
11
|
private offsetValue?;
|
|
12
|
+
private cacheTtl?;
|
|
13
|
+
private cacheKey?;
|
|
11
14
|
private resolvedConnection;
|
|
12
15
|
constructor(connection: Connection | Promise<Connection>);
|
|
13
16
|
/**
|
|
@@ -21,7 +24,11 @@ export declare class QueryBuilder implements QueryBuilderInterface {
|
|
|
21
24
|
/**
|
|
22
25
|
* Add a select clause
|
|
23
26
|
*/
|
|
24
|
-
select(...columns: string[]): this;
|
|
27
|
+
select(...columns: (string | Expression)[]): this;
|
|
28
|
+
/**
|
|
29
|
+
* Add a raw select clause with optional bindings
|
|
30
|
+
*/
|
|
31
|
+
selectRaw(sql: string, bindings?: any[]): this;
|
|
25
32
|
/**
|
|
26
33
|
* Add a where clause
|
|
27
34
|
*/
|
|
@@ -46,6 +53,22 @@ export declare class QueryBuilder implements QueryBuilderInterface {
|
|
|
46
53
|
* Add a where not null clause
|
|
47
54
|
*/
|
|
48
55
|
whereNotNull(column: string): this;
|
|
56
|
+
/**
|
|
57
|
+
* Add a raw where clause
|
|
58
|
+
*/
|
|
59
|
+
whereRaw(sql: string, bindings?: any[]): this;
|
|
60
|
+
/**
|
|
61
|
+
* Add a raw OR where clause
|
|
62
|
+
*/
|
|
63
|
+
orWhereRaw(sql: string, bindings?: any[]): this;
|
|
64
|
+
/**
|
|
65
|
+
* Add an exists clause
|
|
66
|
+
*/
|
|
67
|
+
whereExists(callback: (query: QueryBuilder) => void, boolean?: 'and' | 'or', not?: boolean): this;
|
|
68
|
+
/**
|
|
69
|
+
* Add a not exists clause
|
|
70
|
+
*/
|
|
71
|
+
whereNotExists(callback: (query: QueryBuilder) => void, boolean?: 'and' | 'or'): this;
|
|
49
72
|
/**
|
|
50
73
|
* Add an order by clause
|
|
51
74
|
*/
|
|
@@ -58,6 +81,10 @@ export declare class QueryBuilder implements QueryBuilderInterface {
|
|
|
58
81
|
* Add an offset clause
|
|
59
82
|
*/
|
|
60
83
|
offset(offset: number): this;
|
|
84
|
+
/**
|
|
85
|
+
* Cache the query results
|
|
86
|
+
*/
|
|
87
|
+
cache(ttl: number, key?: string): this;
|
|
61
88
|
/**
|
|
62
89
|
* Execute the query and get all results
|
|
63
90
|
*/
|
|
@@ -67,9 +94,37 @@ export declare class QueryBuilder implements QueryBuilderInterface {
|
|
|
67
94
|
*/
|
|
68
95
|
first(): Promise<any | null>;
|
|
69
96
|
/**
|
|
70
|
-
*
|
|
97
|
+
* Paginate the query results
|
|
98
|
+
*/
|
|
99
|
+
paginate(page?: number, perPage?: number, path?: string): Promise<{
|
|
100
|
+
data: any[];
|
|
101
|
+
meta: any;
|
|
102
|
+
links: any;
|
|
103
|
+
}>;
|
|
104
|
+
/**
|
|
105
|
+
* Paginate without counting total pages
|
|
106
|
+
*/
|
|
107
|
+
simplePaginate(page?: number, perPage?: number, path?: string): Promise<{
|
|
108
|
+
data: any[];
|
|
109
|
+
meta: any;
|
|
110
|
+
links: any;
|
|
111
|
+
}>;
|
|
112
|
+
/**
|
|
113
|
+
* Cursor paginate for high performance
|
|
114
|
+
*/
|
|
115
|
+
cursorPaginate(cursor?: string | null, perPage?: number, cursorColumn?: string, path?: string): Promise<{
|
|
116
|
+
data: any[];
|
|
117
|
+
meta: any;
|
|
118
|
+
links: any;
|
|
119
|
+
}>;
|
|
120
|
+
/**
|
|
121
|
+
* Chunk the query results
|
|
122
|
+
*/
|
|
123
|
+
chunk(count: number, callback: (results: any[], page: number) => Promise<boolean | void>): Promise<boolean>;
|
|
124
|
+
/**
|
|
125
|
+
* Insert a record or multiple records
|
|
71
126
|
*/
|
|
72
|
-
insert(data: Record<string, any>): Promise<any>;
|
|
127
|
+
insert(data: Record<string, any> | Record<string, any>[]): Promise<any>;
|
|
73
128
|
/**
|
|
74
129
|
* Update records
|
|
75
130
|
*/
|
|
@@ -85,7 +140,10 @@ export declare class QueryBuilder implements QueryBuilderInterface {
|
|
|
85
140
|
/**
|
|
86
141
|
* Build the SELECT query
|
|
87
142
|
*/
|
|
88
|
-
|
|
143
|
+
buildSelectQuery(): {
|
|
144
|
+
sql: string;
|
|
145
|
+
bindings: any[];
|
|
146
|
+
};
|
|
89
147
|
/**
|
|
90
148
|
* Build the WHERE clause
|
|
91
149
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../src/Query/QueryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../src/Query/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.QueryBuilder = void 0;
|
|
4
|
+
const Database_1 = require("../Database");
|
|
5
|
+
const Expression_1 = require("./Expression");
|
|
6
|
+
const QueryLogger_1 = require("./QueryLogger");
|
|
4
7
|
class QueryBuilder {
|
|
5
8
|
constructor(connection) {
|
|
6
9
|
this.connection = connection;
|
|
7
10
|
this.selectColumns = ['*'];
|
|
11
|
+
this.selectRawExpressions = [];
|
|
8
12
|
this.whereClauses = [];
|
|
9
13
|
this.orderByColumns = [];
|
|
10
14
|
this.resolvedConnection = null;
|
|
@@ -29,7 +33,14 @@ class QueryBuilder {
|
|
|
29
33
|
* Add a select clause
|
|
30
34
|
*/
|
|
31
35
|
select(...columns) {
|
|
32
|
-
this.selectColumns = columns;
|
|
36
|
+
this.selectColumns = columns.map(c => c instanceof Expression_1.Expression ? String(c.getValue()) : c);
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Add a raw select clause with optional bindings
|
|
41
|
+
*/
|
|
42
|
+
selectRaw(sql, bindings = []) {
|
|
43
|
+
this.selectRawExpressions.push({ sql, bindings });
|
|
33
44
|
return this;
|
|
34
45
|
}
|
|
35
46
|
/**
|
|
@@ -114,6 +125,50 @@ class QueryBuilder {
|
|
|
114
125
|
});
|
|
115
126
|
return this;
|
|
116
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Add a raw where clause
|
|
130
|
+
*/
|
|
131
|
+
whereRaw(sql, bindings = []) {
|
|
132
|
+
this.whereClauses.push({
|
|
133
|
+
type: 'raw',
|
|
134
|
+
column: sql,
|
|
135
|
+
value: bindings,
|
|
136
|
+
boolean: 'and',
|
|
137
|
+
});
|
|
138
|
+
return this;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Add a raw OR where clause
|
|
142
|
+
*/
|
|
143
|
+
orWhereRaw(sql, bindings = []) {
|
|
144
|
+
this.whereClauses.push({
|
|
145
|
+
type: 'raw',
|
|
146
|
+
column: sql,
|
|
147
|
+
value: bindings,
|
|
148
|
+
boolean: 'or',
|
|
149
|
+
});
|
|
150
|
+
return this;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Add an exists clause
|
|
154
|
+
*/
|
|
155
|
+
whereExists(callback, boolean = 'and', not = false) {
|
|
156
|
+
const query = new QueryBuilder(this.connection);
|
|
157
|
+
callback(query);
|
|
158
|
+
this.whereClauses.push({
|
|
159
|
+
type: not ? 'notExists' : 'exists',
|
|
160
|
+
column: '',
|
|
161
|
+
query,
|
|
162
|
+
boolean,
|
|
163
|
+
});
|
|
164
|
+
return this;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Add a not exists clause
|
|
168
|
+
*/
|
|
169
|
+
whereNotExists(callback, boolean = 'and') {
|
|
170
|
+
return this.whereExists(callback, boolean, true);
|
|
171
|
+
}
|
|
117
172
|
/**
|
|
118
173
|
* Add an order by clause
|
|
119
174
|
*/
|
|
@@ -135,13 +190,35 @@ class QueryBuilder {
|
|
|
135
190
|
this.offsetValue = offset;
|
|
136
191
|
return this;
|
|
137
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* Cache the query results
|
|
195
|
+
*/
|
|
196
|
+
cache(ttl, key) {
|
|
197
|
+
this.cacheTtl = ttl;
|
|
198
|
+
this.cacheKey = key;
|
|
199
|
+
return this;
|
|
200
|
+
}
|
|
138
201
|
/**
|
|
139
202
|
* Execute the query and get all results
|
|
140
203
|
*/
|
|
141
204
|
async get() {
|
|
142
205
|
const { sql, bindings } = this.buildSelectQuery();
|
|
206
|
+
if (this.cacheTtl !== undefined) {
|
|
207
|
+
const cacheStore = Database_1.Database.getManager().getCache();
|
|
208
|
+
if (cacheStore) {
|
|
209
|
+
// Generate a key based on SQL and bindings if not provided
|
|
210
|
+
const key = this.cacheKey || `db:${Buffer.from(sql + JSON.stringify(bindings)).toString('base64')}`;
|
|
211
|
+
return cacheStore.remember(key, this.cacheTtl, async () => {
|
|
212
|
+
const connection = await this.getResolvedConnection();
|
|
213
|
+
return await connection.query(sql, bindings);
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}
|
|
143
217
|
const connection = await this.getResolvedConnection();
|
|
144
|
-
|
|
218
|
+
const start = Date.now();
|
|
219
|
+
const rows = await connection.query(sql, bindings);
|
|
220
|
+
QueryLogger_1.QueryLogger.log(sql, bindings, Date.now() - start);
|
|
221
|
+
return rows;
|
|
145
222
|
}
|
|
146
223
|
/**
|
|
147
224
|
* Execute the query and get the first result
|
|
@@ -152,18 +229,135 @@ class QueryBuilder {
|
|
|
152
229
|
return results.length > 0 ? results[0] : null;
|
|
153
230
|
}
|
|
154
231
|
/**
|
|
155
|
-
*
|
|
232
|
+
* Paginate the query results
|
|
233
|
+
*/
|
|
234
|
+
async paginate(page = 1, perPage = 15, path = '/') {
|
|
235
|
+
const total = await this.count();
|
|
236
|
+
const offset = (page - 1) * perPage;
|
|
237
|
+
this.limit(perPage).offset(offset);
|
|
238
|
+
const data = await this.get();
|
|
239
|
+
const lastPage = Math.ceil(total / perPage);
|
|
240
|
+
return {
|
|
241
|
+
data,
|
|
242
|
+
meta: {
|
|
243
|
+
total,
|
|
244
|
+
per_page: perPage,
|
|
245
|
+
current_page: page,
|
|
246
|
+
last_page: lastPage,
|
|
247
|
+
first_page: 1,
|
|
248
|
+
from: total > 0 ? offset + 1 : null,
|
|
249
|
+
to: total > 0 ? Math.min(offset + perPage, total) : null,
|
|
250
|
+
},
|
|
251
|
+
links: {
|
|
252
|
+
prev_page_url: page > 1 ? `${path}?page=${page - 1}` : null,
|
|
253
|
+
next_page_url: page < lastPage ? `${path}?page=${page + 1}` : null,
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Paginate without counting total pages
|
|
259
|
+
*/
|
|
260
|
+
async simplePaginate(page = 1, perPage = 15, path = '/') {
|
|
261
|
+
const offset = (page - 1) * perPage;
|
|
262
|
+
// Fetch perPage + 1 records to check if there are more records
|
|
263
|
+
this.limit(perPage + 1).offset(offset);
|
|
264
|
+
let data = await this.get();
|
|
265
|
+
const hasMore = data.length > perPage;
|
|
266
|
+
if (hasMore) {
|
|
267
|
+
data.pop(); // Remove the extra record
|
|
268
|
+
}
|
|
269
|
+
return {
|
|
270
|
+
data,
|
|
271
|
+
meta: {
|
|
272
|
+
per_page: perPage,
|
|
273
|
+
current_page: page,
|
|
274
|
+
first_page: 1,
|
|
275
|
+
from: data.length > 0 ? offset + 1 : null,
|
|
276
|
+
to: data.length > 0 ? offset + data.length : null,
|
|
277
|
+
},
|
|
278
|
+
links: {
|
|
279
|
+
prev_page_url: page > 1 ? `${path}?page=${page - 1}` : null,
|
|
280
|
+
next_page_url: hasMore ? `${path}?page=${page + 1}` : null,
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Cursor paginate for high performance
|
|
286
|
+
*/
|
|
287
|
+
async cursorPaginate(cursor = null, perPage = 15, cursorColumn = 'id', path = '/') {
|
|
288
|
+
if (cursor) {
|
|
289
|
+
this.where(cursorColumn, '>', cursor);
|
|
290
|
+
}
|
|
291
|
+
this.orderBy(cursorColumn, 'asc').limit(perPage + 1);
|
|
292
|
+
let data = await this.get();
|
|
293
|
+
const hasMore = data.length > perPage;
|
|
294
|
+
if (hasMore) {
|
|
295
|
+
data.pop();
|
|
296
|
+
}
|
|
297
|
+
const nextCursor = hasMore && data.length > 0 ? data[data.length - 1][cursorColumn] : null;
|
|
298
|
+
return {
|
|
299
|
+
data,
|
|
300
|
+
meta: {
|
|
301
|
+
per_page: perPage,
|
|
302
|
+
has_more: hasMore,
|
|
303
|
+
},
|
|
304
|
+
links: {
|
|
305
|
+
next_page_url: nextCursor ? `${path}?cursor=${nextCursor}` : null,
|
|
306
|
+
}
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Chunk the query results
|
|
311
|
+
*/
|
|
312
|
+
async chunk(count, callback) {
|
|
313
|
+
let page = 1;
|
|
314
|
+
while (true) {
|
|
315
|
+
// Clone the query builder without offset/limit so we can set them clean
|
|
316
|
+
const chunkQuery = new QueryBuilder(this.connection);
|
|
317
|
+
Object.assign(chunkQuery, this);
|
|
318
|
+
chunkQuery.limit(count).offset((page - 1) * count);
|
|
319
|
+
const results = await chunkQuery.get();
|
|
320
|
+
if (results.length === 0) {
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
const result = await callback(results, page);
|
|
324
|
+
if (result === false) {
|
|
325
|
+
return false;
|
|
326
|
+
}
|
|
327
|
+
if (results.length < count) {
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
330
|
+
page++;
|
|
331
|
+
}
|
|
332
|
+
return true;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Insert a record or multiple records
|
|
156
336
|
*/
|
|
157
337
|
async insert(data) {
|
|
158
338
|
if (!this.tableName) {
|
|
159
339
|
throw new Error('Table name is required');
|
|
160
340
|
}
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
341
|
+
const dataArray = Array.isArray(data) ? data : [data];
|
|
342
|
+
if (dataArray.length === 0) {
|
|
343
|
+
return null;
|
|
344
|
+
}
|
|
345
|
+
const columns = Object.keys(dataArray[0]);
|
|
346
|
+
// Build placeholders for all rows
|
|
347
|
+
const placeholders = dataArray.map(() => `(${columns.map(() => '?').join(', ')})`).join(', ');
|
|
348
|
+
// Extract plain values for all rows
|
|
349
|
+
const values = [];
|
|
350
|
+
for (const row of dataArray) {
|
|
351
|
+
for (const col of columns) {
|
|
352
|
+
values.push(row[col] !== undefined ? row[col] : null);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
const sql = `INSERT INTO ${this.tableName} (${columns.join(', ')}) VALUES ${placeholders}`;
|
|
165
356
|
const connection = await this.getResolvedConnection();
|
|
166
|
-
|
|
357
|
+
const startI = Date.now();
|
|
358
|
+
const resultI = await connection.query(sql, values);
|
|
359
|
+
QueryLogger_1.QueryLogger.log(sql, values, Date.now() - startI);
|
|
360
|
+
return resultI;
|
|
167
361
|
}
|
|
168
362
|
/**
|
|
169
363
|
* Update records
|
|
@@ -178,8 +372,10 @@ class QueryBuilder {
|
|
|
178
372
|
const { whereClause, bindings: whereBindings } = this.buildWhereClause();
|
|
179
373
|
const sql = `UPDATE ${this.tableName} SET ${setClause}${whereClause}`;
|
|
180
374
|
const connection = await this.getResolvedConnection();
|
|
181
|
-
const
|
|
182
|
-
|
|
375
|
+
const startU = Date.now();
|
|
376
|
+
const resultU = await connection.query(sql, [...values, ...whereBindings]);
|
|
377
|
+
QueryLogger_1.QueryLogger.log(sql, [...values, ...whereBindings], Date.now() - startU);
|
|
378
|
+
return resultU.affectedRows || resultU.rowCount || 0;
|
|
183
379
|
}
|
|
184
380
|
/**
|
|
185
381
|
* Delete records
|
|
@@ -191,8 +387,10 @@ class QueryBuilder {
|
|
|
191
387
|
const { whereClause, bindings } = this.buildWhereClause();
|
|
192
388
|
const sql = `DELETE FROM ${this.tableName}${whereClause}`;
|
|
193
389
|
const connection = await this.getResolvedConnection();
|
|
194
|
-
const
|
|
195
|
-
|
|
390
|
+
const startD = Date.now();
|
|
391
|
+
const resultD = await connection.query(sql, bindings);
|
|
392
|
+
QueryLogger_1.QueryLogger.log(sql, bindings, Date.now() - startD);
|
|
393
|
+
return resultD.affectedRows || resultD.rowCount || 0;
|
|
196
394
|
}
|
|
197
395
|
/**
|
|
198
396
|
* Get the count of records
|
|
@@ -214,10 +412,16 @@ class QueryBuilder {
|
|
|
214
412
|
if (!this.tableName) {
|
|
215
413
|
throw new Error('Table name is required');
|
|
216
414
|
}
|
|
217
|
-
const
|
|
218
|
-
|
|
219
|
-
|
|
415
|
+
const rawSelectSql = this.selectRawExpressions.map(r => r.sql);
|
|
416
|
+
const selectBindings = this.selectRawExpressions.flatMap(r => r.bindings);
|
|
417
|
+
let columnsList = [...this.selectColumns, ...rawSelectSql].join(', ');
|
|
418
|
+
if (!columnsList)
|
|
419
|
+
columnsList = '*';
|
|
420
|
+
let sql = `SELECT ${columnsList} FROM ${this.tableName}`;
|
|
421
|
+
const { whereClause, bindings: whereBindings } = this.buildWhereClause();
|
|
220
422
|
sql += whereClause;
|
|
423
|
+
// Select bindings must come BEFORE where bindings
|
|
424
|
+
const bindings = [...selectBindings, ...whereBindings];
|
|
221
425
|
if (this.orderByColumns.length > 0) {
|
|
222
426
|
const orderBy = this.orderByColumns
|
|
223
427
|
.map(({ column, direction }) => `${column} ${direction.toUpperCase()}`)
|
|
@@ -264,6 +468,21 @@ class QueryBuilder {
|
|
|
264
468
|
case 'notNull':
|
|
265
469
|
clauses.push(`${boolean}${where.column} IS NOT NULL`);
|
|
266
470
|
break;
|
|
471
|
+
case 'raw':
|
|
472
|
+
clauses.push(`${boolean}${where.column}`);
|
|
473
|
+
if (where.value && Array.isArray(where.value)) {
|
|
474
|
+
bindings.push(...where.value);
|
|
475
|
+
}
|
|
476
|
+
break;
|
|
477
|
+
case 'exists':
|
|
478
|
+
case 'notExists':
|
|
479
|
+
if (where.query) {
|
|
480
|
+
const { sql: subSql, bindings: subBindings } = where.query.buildSelectQuery();
|
|
481
|
+
const existsOperator = where.type === 'notExists' ? 'NOT EXISTS' : 'EXISTS';
|
|
482
|
+
clauses.push(`${boolean}${existsOperator} (${subSql})`);
|
|
483
|
+
bindings.push(...subBindings);
|
|
484
|
+
}
|
|
485
|
+
break;
|
|
267
486
|
}
|
|
268
487
|
});
|
|
269
488
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../src/Query/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../src/Query/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A single logged query entry
|
|
3
|
+
*/
|
|
4
|
+
export interface QueryLog {
|
|
5
|
+
sql: string;
|
|
6
|
+
bindings: any[];
|
|
7
|
+
time: number;
|
|
8
|
+
connection: string;
|
|
9
|
+
timestamp: Date;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Query Logger — records all executed queries for debugging
|
|
13
|
+
*/
|
|
14
|
+
export declare class QueryLogger {
|
|
15
|
+
private static logs;
|
|
16
|
+
private static enabled;
|
|
17
|
+
private static listeners;
|
|
18
|
+
/**
|
|
19
|
+
* Enable query logging
|
|
20
|
+
*/
|
|
21
|
+
static enable(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Disable query logging
|
|
24
|
+
*/
|
|
25
|
+
static disable(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Check if logging is active
|
|
28
|
+
*/
|
|
29
|
+
static isEnabled(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Log a query
|
|
32
|
+
*/
|
|
33
|
+
static log(sql: string, bindings: any[], time: number, connection?: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* Register a real-time listener on each query
|
|
36
|
+
*/
|
|
37
|
+
static listen(callback: (log: QueryLog) => void): void;
|
|
38
|
+
/**
|
|
39
|
+
* Get all logged queries
|
|
40
|
+
*/
|
|
41
|
+
static getLog(): QueryLog[];
|
|
42
|
+
/**
|
|
43
|
+
* Get the last executed query
|
|
44
|
+
*/
|
|
45
|
+
static getLastQuery(): QueryLog | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Clear the query log
|
|
48
|
+
*/
|
|
49
|
+
static flush(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Print all queries to console for debugging
|
|
52
|
+
*/
|
|
53
|
+
static dump(): void;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=QueryLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryLogger.d.ts","sourceRoot":"","sources":["../../src/Query/QueryLogger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAkB;IACxC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAsC;IAE9D;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,IAAI;IAIrB;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,IAAI;IAItB;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,MAAkB,GAAG,IAAI;IAmB5F;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAItD;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,QAAQ,EAAE;IAI3B;;OAEG;IACH,MAAM,CAAC,YAAY,IAAI,QAAQ,GAAG,SAAS;IAI3C;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACH,MAAM,CAAC,IAAI,IAAI,IAAI;CAStB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueryLogger = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Query Logger — records all executed queries for debugging
|
|
6
|
+
*/
|
|
7
|
+
class QueryLogger {
|
|
8
|
+
/**
|
|
9
|
+
* Enable query logging
|
|
10
|
+
*/
|
|
11
|
+
static enable() {
|
|
12
|
+
this.enabled = true;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Disable query logging
|
|
16
|
+
*/
|
|
17
|
+
static disable() {
|
|
18
|
+
this.enabled = false;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Check if logging is active
|
|
22
|
+
*/
|
|
23
|
+
static isEnabled() {
|
|
24
|
+
return this.enabled;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Log a query
|
|
28
|
+
*/
|
|
29
|
+
static log(sql, bindings, time, connection = 'default') {
|
|
30
|
+
if (!this.enabled)
|
|
31
|
+
return;
|
|
32
|
+
const entry = {
|
|
33
|
+
sql,
|
|
34
|
+
bindings,
|
|
35
|
+
time,
|
|
36
|
+
connection,
|
|
37
|
+
timestamp: new Date(),
|
|
38
|
+
};
|
|
39
|
+
this.logs.push(entry);
|
|
40
|
+
// Notify live listeners (e.g. debug console output)
|
|
41
|
+
for (const listener of this.listeners) {
|
|
42
|
+
listener(entry);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Register a real-time listener on each query
|
|
47
|
+
*/
|
|
48
|
+
static listen(callback) {
|
|
49
|
+
this.listeners.push(callback);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get all logged queries
|
|
53
|
+
*/
|
|
54
|
+
static getLog() {
|
|
55
|
+
return [...this.logs];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get the last executed query
|
|
59
|
+
*/
|
|
60
|
+
static getLastQuery() {
|
|
61
|
+
return this.logs[this.logs.length - 1];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Clear the query log
|
|
65
|
+
*/
|
|
66
|
+
static flush() {
|
|
67
|
+
this.logs = [];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Print all queries to console for debugging
|
|
71
|
+
*/
|
|
72
|
+
static dump() {
|
|
73
|
+
for (const entry of this.logs) {
|
|
74
|
+
console.log(`[${entry.connection}] ${entry.sql}`, entry.bindings.length ? `-- bindings: ${JSON.stringify(entry.bindings)}` : '', `(${entry.time.toFixed(2)}ms)`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.QueryLogger = QueryLogger;
|
|
79
|
+
QueryLogger.logs = [];
|
|
80
|
+
QueryLogger.enabled = false;
|
|
81
|
+
QueryLogger.listeners = [];
|
|
82
|
+
//# sourceMappingURL=QueryLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryLogger.js","sourceRoot":"","sources":["../../src/Query/QueryLogger.ts"],"names":[],"mappings":";;;AAWA;;GAEG;AACH,MAAa,WAAW;IAKpB;;OAEG;IACH,MAAM,CAAC,MAAM;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACV,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,QAAe,EAAE,IAAY,EAAE,aAAqB,SAAS;QACjF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,MAAM,KAAK,GAAa;YACpB,GAAG;YACH,QAAQ;YACR,IAAI;YACJ,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtB,oDAAoD;QACpD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,QAAiC;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK;QACR,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI;QACP,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CACP,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,GAAG,EAAE,EACpC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAC7E,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACjC,CAAC;QACN,CAAC;IACL,CAAC;;AAvFL,kCAwFC;AAvFkB,gBAAI,GAAe,EAAE,CAAC;AACtB,mBAAO,GAAY,KAAK,CAAC;AACzB,qBAAS,GAAmC,EAAE,CAAC"}
|
|
@@ -7,6 +7,11 @@ export declare abstract class Grammar {
|
|
|
7
7
|
* Compile the create table SQL
|
|
8
8
|
*/
|
|
9
9
|
abstract compileCreate(blueprint: TableBlueprint): string;
|
|
10
|
+
/**
|
|
11
|
+
* Compile the alter table SQL (adding/dropping/modifying columns and indexes)
|
|
12
|
+
* Returns an array of SQL statements since some engines require multiple statements for altering.
|
|
13
|
+
*/
|
|
14
|
+
abstract compileAlter(blueprint: TableBlueprint): string[];
|
|
10
15
|
/**
|
|
11
16
|
* Compile the drop table SQL
|
|
12
17
|
*/
|