litedbmodel 2.2.7 → 2.2.8
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 +2 -1
- package/dist/Column.d.ts +13 -2
- package/dist/Column.d.ts.map +1 -1
- package/dist/Column.js +30 -10
- package/dist/Column.js.map +1 -1
- package/dist/DBModel.d.ts +15 -2
- package/dist/DBModel.d.ts.map +1 -1
- package/dist/DBModel.js +40 -25
- package/dist/DBModel.js.map +1 -1
- package/dist/TypeCast.d.ts +2 -2
- package/dist/TypeCast.d.ts.map +1 -1
- package/dist/TypeCast.js +7 -9
- package/dist/TypeCast.js.map +1 -1
- package/dist/decorators.d.ts +8 -0
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +29 -18
- package/dist/decorators.js.map +1 -1
- package/dist/drivers/MysqlHelper.d.ts +3 -3
- package/dist/drivers/MysqlHelper.d.ts.map +1 -1
- package/dist/drivers/MysqlHelper.js +3 -17
- package/dist/drivers/MysqlHelper.js.map +1 -1
- package/dist/drivers/MysqlSqlBuilder.d.ts.map +1 -1
- package/dist/drivers/MysqlSqlBuilder.js +2 -13
- package/dist/drivers/MysqlSqlBuilder.js.map +1 -1
- package/dist/drivers/PostgresHelper.d.ts +3 -2
- package/dist/drivers/PostgresHelper.d.ts.map +1 -1
- package/dist/drivers/PostgresHelper.js +3 -16
- package/dist/drivers/PostgresHelper.js.map +1 -1
- package/dist/drivers/PostgresSqlBuilder.d.ts.map +1 -1
- package/dist/drivers/PostgresSqlBuilder.js +2 -14
- package/dist/drivers/PostgresSqlBuilder.js.map +1 -1
- package/dist/drivers/SqliteHelper.d.ts +4 -2
- package/dist/drivers/SqliteHelper.d.ts.map +1 -1
- package/dist/drivers/SqliteHelper.js +4 -2
- package/dist/drivers/SqliteHelper.js.map +1 -1
- package/dist/drivers/SqliteSqlBuilder.d.ts.map +1 -1
- package/dist/drivers/SqliteSqlBuilder.js +2 -13
- package/dist/drivers/SqliteSqlBuilder.js.map +1 -1
- package/dist/index.cjs +666 -687
- package/dist/scp/decorator-adapter.d.ts +1 -0
- package/dist/scp/decorator-adapter.d.ts.map +1 -1
- package/dist/scp/decorator-adapter.js +2 -0
- package/dist/scp/decorator-adapter.js.map +1 -1
- package/dist/scp/index.cjs +63 -52
- package/dist/scp/index.mjs +63 -52
- package/docs/BENCHMARK.md +1 -1
- package/docs/COMPARISON.md +1 -1
- package/docs/api/README.md +1 -1
- package/docs/api/classes/Conditions.md +10 -10
- package/docs/api/classes/DBHandler.md +1 -1
- package/docs/api/classes/DBModel.md +81 -81
- package/docs/api/classes/LimitExceededError.md +1 -1
- package/docs/api/classes/Middleware.md +1 -1
- package/docs/api/classes/SqlRaw.md +1 -1
- package/docs/api/classes/SqlRef.md +1 -1
- package/docs/api/classes/Values.md +6 -6
- package/docs/api/classes/WriteInReadOnlyContextError.md +1 -1
- package/docs/api/classes/WriteOutsideTransactionError.md +1 -1
- package/docs/api/functions/belongsTo.md +2 -2
- package/docs/api/functions/closeAllPools.md +1 -1
- package/docs/api/functions/condsToRecord.md +4 -3
- package/docs/api/functions/createMiddleware.md +1 -1
- package/docs/api/functions/createPostgresDriver.md +1 -1
- package/docs/api/functions/createSqliteDriver.md +1 -1
- package/docs/api/functions/dbCast.md +1 -1
- package/docs/api/functions/dbCastIn.md +1 -1
- package/docs/api/functions/dbDynamic.md +1 -1
- package/docs/api/functions/dbFalse.md +1 -1
- package/docs/api/functions/dbImmediate.md +1 -1
- package/docs/api/functions/dbIn.md +1 -1
- package/docs/api/functions/dbNotNull.md +1 -1
- package/docs/api/functions/dbNow.md +1 -1
- package/docs/api/functions/dbNull.md +1 -1
- package/docs/api/functions/dbRaw.md +1 -1
- package/docs/api/functions/dbTrue.md +1 -1
- package/docs/api/functions/dbUuid.md +1 -1
- package/docs/api/functions/dbUuidIn.md +1 -1
- package/docs/api/functions/formatLocalDate.md +2 -2
- package/docs/api/functions/formatUTCDate.md +2 -2
- package/docs/api/functions/getDBConfig.md +1 -1
- package/docs/api/functions/getDBHandler.md +1 -1
- package/docs/api/functions/getTransactionConnection.md +2 -2
- package/docs/api/functions/getTransactionContext.md +2 -2
- package/docs/api/functions/hasMany.md +2 -2
- package/docs/api/functions/hasOne.md +2 -2
- package/docs/api/functions/initDBHandler.md +1 -1
- package/docs/api/functions/isAnySqlFragment.md +1 -1
- package/docs/api/functions/isConnectionError.md +1 -1
- package/docs/api/functions/isSqlCondition.md +1 -1
- package/docs/api/functions/isSqlFragment.md +1 -1
- package/docs/api/functions/isSqlRaw.md +1 -1
- package/docs/api/functions/isSqlRef.md +1 -1
- package/docs/api/functions/isSqlTypedFragment.md +1 -1
- package/docs/api/functions/model.md +4 -4
- package/docs/api/functions/parentRef.md +1 -1
- package/docs/api/functions/sql.md +1 -1
- package/docs/api/globals.md +24 -21
- package/docs/api/interfaces/Column.md +32 -31
- package/docs/api/interfaces/ColumnDecorator.md +1 -1
- package/docs/api/interfaces/ColumnOptions.md +1 -1
- package/docs/api/interfaces/CreatedMiddlewareClass.md +1 -1
- package/docs/api/interfaces/DBConfig.md +1 -1
- package/docs/api/interfaces/DBConfigOptions.md +1 -1
- package/docs/api/interfaces/DeleteOptions.md +1 -1
- package/docs/api/interfaces/InsertOptions.md +1 -1
- package/docs/api/interfaces/LimitConfig.md +1 -1
- package/docs/api/interfaces/MiddlewareConfig.md +1 -1
- package/docs/api/interfaces/ModelClassDecorator.md +4 -4
- package/docs/api/interfaces/ModelOptions.md +1 -1
- package/docs/api/interfaces/PkeyResult.md +1 -1
- package/docs/api/interfaces/RelationDecorator.md +1 -1
- package/docs/api/interfaces/SelectOptions.md +1 -1
- package/docs/api/interfaces/SqlCondition.md +1 -1
- package/docs/api/interfaces/SqlFragment.md +1 -1
- package/docs/api/interfaces/SqlTypedFragment.md +1 -1
- package/docs/api/interfaces/TransactionOptions.md +1 -1
- package/docs/api/interfaces/UpdateManyOptions.md +1 -1
- package/docs/api/interfaces/UpdateOptions.md +1 -1
- package/docs/architecture.md +12 -8
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[**litedbmodel v2.2.
|
|
1
|
+
[**litedbmodel v2.2.8**](../README.md)
|
|
2
2
|
|
|
3
3
|
***
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Abstract Class: DBModel
|
|
8
8
|
|
|
9
|
-
Defined in: [DBModel.ts:
|
|
9
|
+
Defined in: [DBModel.ts:140](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L140)
|
|
10
10
|
|
|
11
11
|
Base class for all database models in litedbmodel.
|
|
12
12
|
Provides CRUD operations, relations, transactions, and middleware support.
|
|
@@ -63,7 +63,7 @@ const john = await User.findOne([[User.email, 'john@example.com']]);
|
|
|
63
63
|
new DBModel(): DBModel;
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
Defined in: [DBModel.ts:
|
|
66
|
+
Defined in: [DBModel.ts:1882](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1882)
|
|
67
67
|
|
|
68
68
|
#### Returns
|
|
69
69
|
|
|
@@ -73,19 +73,19 @@ Defined in: [DBModel.ts:1865](https://github.com/foo-ogawa/litedbmodel/blob/main
|
|
|
73
73
|
|
|
74
74
|
| Property | Modifier | Type | Default value | Description | Defined in |
|
|
75
75
|
| ------ | ------ | ------ | ------ | ------ | ------ |
|
|
76
|
-
| <a id="query"></a> `QUERY` | `static` | \| `string` \| [`SqlFragment`](../interfaces/SqlFragment.md) \| [`SqlTypedFragment`](../interfaces/SqlTypedFragment.md)\<`unknown`, `unknown`\> \| [`SqlCondition`](../interfaces/SqlCondition.md)\<`unknown`\> \| `null` | `null` | SQL query for query-based models (view models, aggregations, etc.) When defined, the model uses this query as a CTE instead of TABLE_NAME. **Example** `// Static query static QUERY = ` SELECT users.id, COUNT(posts.id) as post_count FROM users LEFT JOIN posts ON users.id = posts.user_id GROUP BY users.id `;` | [DBModel.ts:
|
|
77
|
-
| <a id="_dbconfig"></a> `_dbConfig` | `static` | [`DBConfig`](../interfaces/DBConfig.md) \| `null` | `null` | Database config | [DBModel.ts:
|
|
78
|
-
| <a id="_limitconfig"></a> `_limitConfig` | `static` | [`LimitConfig`](../interfaces/LimitConfig.md) | `{}` | Limit config for safety guards | [DBModel.ts:
|
|
79
|
-
| <a id="_configoptions"></a> `_configOptions` | `static` | [`DBConfigOptions`](../interfaces/DBConfigOptions.md) | `undefined` | Configuration options for reader/writer separation | [DBModel.ts:
|
|
80
|
-
| <a id="_lasttransactiontime"></a> `_lastTransactionTime` | `static` | `number` | `0` | Last transaction completion time (for writer sticky) | [DBModel.ts:
|
|
81
|
-
| <a id="true"></a> `true` | `readonly` | `DBBoolValue` | `undefined` | Boolean TRUE value | [DBModel.ts:
|
|
82
|
-
| <a id="false"></a> `false` | `readonly` | `DBBoolValue` | `undefined` | Boolean FALSE value | [DBModel.ts:
|
|
83
|
-
| <a id="null"></a> `null` | `readonly` | `DBNullValue` | `undefined` | NULL value | [DBModel.ts:
|
|
84
|
-
| <a id="notnull"></a> `notNull` | `readonly` | `DBNotNullValue` | `undefined` | NOT NULL value | [DBModel.ts:
|
|
85
|
-
| <a id="now"></a> `now` | `readonly` | `DBImmediateValue` | `undefined` | NOW() value | [DBModel.ts:
|
|
86
|
-
| <a id="_modelclass"></a> `_modelClass` | `protected` | *typeof* `DBModel` | `undefined` | Instance reference to the static class | [DBModel.ts:
|
|
87
|
-
| <a id="_relationcache"></a> `_relationCache` | `protected` | `Map`\<`string`, `unknown`\> \| `null` | `null` | Per-instance cache for loaded relations (lazy-initialized) | [DBModel.ts:
|
|
88
|
-
| <a id="_deferredcontext"></a> `_deferredContext` | `public` | \[*typeof* `DBModel`, `DBModel`[]\] \| `null` | `null` | Deferred context info: [sourceClass, records] set by _select, resolved on first relation access | [DBModel.ts:
|
|
76
|
+
| <a id="query"></a> `QUERY` | `static` | \| `string` \| [`SqlFragment`](../interfaces/SqlFragment.md) \| [`SqlTypedFragment`](../interfaces/SqlTypedFragment.md)\<`unknown`, `unknown`\> \| [`SqlCondition`](../interfaces/SqlCondition.md)\<`unknown`\> \| `null` | `null` | SQL query for query-based models (view models, aggregations, etc.) When defined, the model uses this query as a CTE instead of TABLE_NAME. **Example** `// Static query static QUERY = ` SELECT users.id, COUNT(posts.id) as post_count FROM users LEFT JOIN posts ON users.id = posts.user_id GROUP BY users.id `;` | [DBModel.ts:199](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L199) |
|
|
77
|
+
| <a id="_dbconfig"></a> `_dbConfig` | `static` | [`DBConfig`](../interfaces/DBConfig.md) \| `null` | `null` | Database config | [DBModel.ts:221](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L221) |
|
|
78
|
+
| <a id="_limitconfig"></a> `_limitConfig` | `static` | [`LimitConfig`](../interfaces/LimitConfig.md) | `{}` | Limit config for safety guards | [DBModel.ts:224](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L224) |
|
|
79
|
+
| <a id="_configoptions"></a> `_configOptions` | `static` | [`DBConfigOptions`](../interfaces/DBConfigOptions.md) | `undefined` | Configuration options for reader/writer separation | [DBModel.ts:227](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L227) |
|
|
80
|
+
| <a id="_lasttransactiontime"></a> `_lastTransactionTime` | `static` | `number` | `0` | Last transaction completion time (for writer sticky) | [DBModel.ts:233](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L233) |
|
|
81
|
+
| <a id="true"></a> `true` | `readonly` | `DBBoolValue` | `undefined` | Boolean TRUE value | [DBModel.ts:1469](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1469) |
|
|
82
|
+
| <a id="false"></a> `false` | `readonly` | `DBBoolValue` | `undefined` | Boolean FALSE value | [DBModel.ts:1472](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1472) |
|
|
83
|
+
| <a id="null"></a> `null` | `readonly` | `DBNullValue` | `undefined` | NULL value | [DBModel.ts:1475](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1475) |
|
|
84
|
+
| <a id="notnull"></a> `notNull` | `readonly` | `DBNotNullValue` | `undefined` | NOT NULL value | [DBModel.ts:1478](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1478) |
|
|
85
|
+
| <a id="now"></a> `now` | `readonly` | `DBImmediateValue` | `undefined` | NOW() value | [DBModel.ts:1481](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1481) |
|
|
86
|
+
| <a id="_modelclass"></a> `_modelClass` | `protected` | *typeof* `DBModel` | `undefined` | Instance reference to the static class | [DBModel.ts:1871](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1871) |
|
|
87
|
+
| <a id="_relationcache"></a> `_relationCache` | `protected` | `Map`\<`string`, `unknown`\> \| `null` | `null` | Per-instance cache for loaded relations (lazy-initialized) | [DBModel.ts:1874](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1874) |
|
|
88
|
+
| <a id="_deferredcontext"></a> `_deferredContext` | `public` | \[*typeof* `DBModel`, `DBModel`[]\] \| `null` | `null` | Deferred context info: [sourceClass, records] set by _select, resolved on first relation access | [DBModel.ts:1880](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1880) |
|
|
89
89
|
|
|
90
90
|
## Methods
|
|
91
91
|
|
|
@@ -95,7 +95,7 @@ Defined in: [DBModel.ts:1865](https://github.com/foo-ogawa/litedbmodel/blob/main
|
|
|
95
95
|
static asModel<T>(this: T): T & ColumnsOf<InstanceType<T>>;
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
-
Defined in: [DBModel.ts:
|
|
98
|
+
Defined in: [DBModel.ts:166](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L166)
|
|
99
99
|
|
|
100
100
|
Returns the model class with type-safe column properties.
|
|
101
101
|
Use this instead of manual casting with `ColumnsOf`.
|
|
@@ -139,7 +139,7 @@ await User.find([[User.name, 'John']]);
|
|
|
139
139
|
static setConfig(config: DBConfig, options?: DBConfigOptions): void;
|
|
140
140
|
```
|
|
141
141
|
|
|
142
|
-
Defined in: [DBModel.ts:
|
|
142
|
+
Defined in: [DBModel.ts:392](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L392)
|
|
143
143
|
|
|
144
144
|
Initialize DBModel with database config.
|
|
145
145
|
Call this once at application startup.
|
|
@@ -188,7 +188,7 @@ DBModel.setConfig(
|
|
|
188
188
|
static getLimitConfig(): LimitConfig;
|
|
189
189
|
```
|
|
190
190
|
|
|
191
|
-
Defined in: [DBModel.ts:
|
|
191
|
+
Defined in: [DBModel.ts:421](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L421)
|
|
192
192
|
|
|
193
193
|
Get current limit configuration.
|
|
194
194
|
|
|
@@ -204,7 +204,7 @@ Get current limit configuration.
|
|
|
204
204
|
static setLimitConfig(config: LimitConfig): void;
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
-
Defined in: [DBModel.ts:
|
|
207
|
+
Defined in: [DBModel.ts:436](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L436)
|
|
208
208
|
|
|
209
209
|
Update limit configuration.
|
|
210
210
|
|
|
@@ -236,7 +236,7 @@ DBModel.setLimitConfig({ findHardLimit: null, hasManyHardLimit: null });
|
|
|
236
236
|
static getDBConfig(): DBConfig | null;
|
|
237
237
|
```
|
|
238
238
|
|
|
239
|
-
Defined in: [DBModel.ts:
|
|
239
|
+
Defined in: [DBModel.ts:443](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L443)
|
|
240
240
|
|
|
241
241
|
Get database config
|
|
242
242
|
|
|
@@ -252,7 +252,7 @@ Get database config
|
|
|
252
252
|
static getDriverType(): "postgres" | "mysql" | "sqlite";
|
|
253
253
|
```
|
|
254
254
|
|
|
255
|
-
Defined in: [DBModel.ts:
|
|
255
|
+
Defined in: [DBModel.ts:451](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L451)
|
|
256
256
|
|
|
257
257
|
Get the database driver type.
|
|
258
258
|
Returns 'postgres', 'mysql', or 'sqlite'.
|
|
@@ -269,7 +269,7 @@ Returns 'postgres', 'mysql', or 'sqlite'.
|
|
|
269
269
|
protected static getHandler(): DBHandler;
|
|
270
270
|
```
|
|
271
271
|
|
|
272
|
-
Defined in: [DBModel.ts:
|
|
272
|
+
Defined in: [DBModel.ts:505](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L505)
|
|
273
273
|
|
|
274
274
|
Get a DBHandler instance for this model.
|
|
275
275
|
Connection priority:
|
|
@@ -290,7 +290,7 @@ Connection priority:
|
|
|
290
290
|
protected static _shouldUseWriterSticky(): boolean;
|
|
291
291
|
```
|
|
292
292
|
|
|
293
|
-
Defined in: [DBModel.ts:
|
|
293
|
+
Defined in: [DBModel.ts:534](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L534)
|
|
294
294
|
|
|
295
295
|
Check if we should use writer due to sticky after transaction.
|
|
296
296
|
|
|
@@ -306,7 +306,7 @@ Check if we should use writer due to sticky after transaction.
|
|
|
306
306
|
protected static _getTransactionContext(): AsyncLocalStorage<TransactionContext>;
|
|
307
307
|
```
|
|
308
308
|
|
|
309
|
-
Defined in: [DBModel.ts:
|
|
309
|
+
Defined in: [DBModel.ts:546](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L546)
|
|
310
310
|
|
|
311
311
|
Get transaction context storage.
|
|
312
312
|
Override in subclass to use independent transaction context.
|
|
@@ -323,7 +323,7 @@ Override in subclass to use independent transaction context.
|
|
|
323
323
|
protected static _getWriterContext(): AsyncLocalStorage<WriterContext>;
|
|
324
324
|
```
|
|
325
325
|
|
|
326
|
-
Defined in: [DBModel.ts:
|
|
326
|
+
Defined in: [DBModel.ts:554](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L554)
|
|
327
327
|
|
|
328
328
|
Get writer context storage.
|
|
329
329
|
Override in subclass to use independent writer context.
|
|
@@ -340,7 +340,7 @@ Override in subclass to use independent writer context.
|
|
|
340
340
|
static inWriterContext(): boolean;
|
|
341
341
|
```
|
|
342
342
|
|
|
343
|
-
Defined in: [DBModel.ts:
|
|
343
|
+
Defined in: [DBModel.ts:561](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L561)
|
|
344
344
|
|
|
345
345
|
Check if currently in a withWriter context.
|
|
346
346
|
|
|
@@ -356,7 +356,7 @@ Check if currently in a withWriter context.
|
|
|
356
356
|
static use(MiddlewareClass: MiddlewareClass): () => void;
|
|
357
357
|
```
|
|
358
358
|
|
|
359
|
-
Defined in: [DBModel.ts:
|
|
359
|
+
Defined in: [DBModel.ts:604](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L604)
|
|
360
360
|
|
|
361
361
|
Register a middleware class to intercept DBModel methods.
|
|
362
362
|
|
|
@@ -407,7 +407,7 @@ console.log(LoggerMiddleware.getCurrentContext().getLogs());
|
|
|
407
407
|
static createMiddleware<S>(config: MiddlewareConfig<S>): CreatedMiddlewareClass<S>;
|
|
408
408
|
```
|
|
409
409
|
|
|
410
|
-
Defined in: [DBModel.ts:
|
|
410
|
+
Defined in: [DBModel.ts:656](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L656)
|
|
411
411
|
|
|
412
412
|
Create a middleware class from a configuration object.
|
|
413
413
|
|
|
@@ -473,7 +473,7 @@ TenantMiddleware.getCurrentContext().tenantId = 123;
|
|
|
473
473
|
static removeMiddleware(MiddlewareClass: MiddlewareClass): boolean;
|
|
474
474
|
```
|
|
475
475
|
|
|
476
|
-
Defined in: [DBModel.ts:
|
|
476
|
+
Defined in: [DBModel.ts:667](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L667)
|
|
477
477
|
|
|
478
478
|
Remove a middleware class
|
|
479
479
|
|
|
@@ -497,7 +497,7 @@ true if middleware was found and removed
|
|
|
497
497
|
static clearMiddlewares(): void;
|
|
498
498
|
```
|
|
499
499
|
|
|
500
|
-
Defined in: [DBModel.ts:
|
|
500
|
+
Defined in: [DBModel.ts:679](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L679)
|
|
501
501
|
|
|
502
502
|
Clear all middlewares (useful for testing)
|
|
503
503
|
|
|
@@ -513,7 +513,7 @@ Clear all middlewares (useful for testing)
|
|
|
513
513
|
static getMiddlewares(): readonly MiddlewareClass[];
|
|
514
514
|
```
|
|
515
515
|
|
|
516
|
-
Defined in: [DBModel.ts:
|
|
516
|
+
Defined in: [DBModel.ts:686](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L686)
|
|
517
517
|
|
|
518
518
|
Get registered middleware classes
|
|
519
519
|
|
|
@@ -536,7 +536,7 @@ static buildSelectSQL<T>(
|
|
|
536
536
|
};
|
|
537
537
|
```
|
|
538
538
|
|
|
539
|
-
Defined in: [DBModel.ts:
|
|
539
|
+
Defined in: [DBModel.ts:876](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L876)
|
|
540
540
|
|
|
541
541
|
Build SELECT SQL without executing.
|
|
542
542
|
Useful for constructing CTE/subquery SQL fragments.
|
|
@@ -570,8 +570,8 @@ Object with sql and params
|
|
|
570
570
|
|
|
571
571
|
| Name | Type | Defined in |
|
|
572
572
|
| ------ | ------ | ------ |
|
|
573
|
-
| `sql` | `string` | [DBModel.ts:
|
|
574
|
-
| `params` | `unknown`[] | [DBModel.ts:
|
|
573
|
+
| `sql` | `string` | [DBModel.ts:881](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L881) |
|
|
574
|
+
| `params` | `unknown`[] | [DBModel.ts:881](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L881) |
|
|
575
575
|
|
|
576
576
|
#### Example
|
|
577
577
|
|
|
@@ -593,7 +593,7 @@ const { sql, params } = User.buildSelectSQL(
|
|
|
593
593
|
protected static _mergeFindFilter(conditions: ConditionObject): ConditionObject;
|
|
594
594
|
```
|
|
595
595
|
|
|
596
|
-
Defined in: [DBModel.ts:
|
|
596
|
+
Defined in: [DBModel.ts:963](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L963)
|
|
597
597
|
|
|
598
598
|
Merge FIND_FILTER (the model's default filter) into a condition object (v1 `_buildSelectSQL` parity).
|
|
599
599
|
|
|
@@ -618,7 +618,7 @@ static inSubquery<T, S>(
|
|
|
618
618
|
conditions?: readonly [Column<any, S>, unknown][]): readonly [string, DBSubquery];
|
|
619
619
|
```
|
|
620
620
|
|
|
621
|
-
Defined in: [DBModel.ts:
|
|
621
|
+
Defined in: [DBModel.ts:1527](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1527)
|
|
622
622
|
|
|
623
623
|
IN subquery condition.
|
|
624
624
|
Creates a condition like: column IN (SELECT selectColumn FROM targetModel WHERE ...)
|
|
@@ -686,7 +686,7 @@ static notInSubquery<T, S>(
|
|
|
686
686
|
conditions?: readonly [Column<any, S>, unknown][]): readonly [string, DBSubquery];
|
|
687
687
|
```
|
|
688
688
|
|
|
689
|
-
Defined in: [DBModel.ts:
|
|
689
|
+
Defined in: [DBModel.ts:1572](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1572)
|
|
690
690
|
|
|
691
691
|
NOT IN subquery condition.
|
|
692
692
|
Creates a condition like: table.column NOT IN (SELECT table.column FROM targetModel WHERE ...)
|
|
@@ -739,7 +739,7 @@ await User.find([
|
|
|
739
739
|
static exists<S>(conditions: readonly [Column<any, S>, unknown][]): readonly [string, DBExists];
|
|
740
740
|
```
|
|
741
741
|
|
|
742
|
-
Defined in: [DBModel.ts:
|
|
742
|
+
Defined in: [DBModel.ts:1612](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1612)
|
|
743
743
|
|
|
744
744
|
EXISTS subquery condition.
|
|
745
745
|
Creates a condition like: EXISTS (SELECT 1 FROM targetModel WHERE table.column = ...)
|
|
@@ -786,7 +786,7 @@ await User.find([
|
|
|
786
786
|
static notExists<S>(conditions: readonly [Column<any, S>, unknown][]): readonly [string, DBExists];
|
|
787
787
|
```
|
|
788
788
|
|
|
789
|
-
Defined in: [DBModel.ts:
|
|
789
|
+
Defined in: [DBModel.ts:1644](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1644)
|
|
790
790
|
|
|
791
791
|
NOT EXISTS subquery condition.
|
|
792
792
|
Creates a condition like: NOT EXISTS (SELECT 1 FROM targetModel WHERE table.column = ...)
|
|
@@ -832,7 +832,7 @@ await User.find([
|
|
|
832
832
|
static getTableName(): string;
|
|
833
833
|
```
|
|
834
834
|
|
|
835
|
-
Defined in: [DBModel.ts:
|
|
835
|
+
Defined in: [DBModel.ts:1722](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1722)
|
|
836
836
|
|
|
837
837
|
Get table name for SELECT queries.
|
|
838
838
|
For query-based models, returns the CTE alias (TABLE_NAME).
|
|
@@ -849,7 +849,7 @@ For query-based models, returns the CTE alias (TABLE_NAME).
|
|
|
849
849
|
static isQueryBased(): boolean;
|
|
850
850
|
```
|
|
851
851
|
|
|
852
|
-
Defined in: [DBModel.ts:
|
|
852
|
+
Defined in: [DBModel.ts:1780](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1780)
|
|
853
853
|
|
|
854
854
|
Check if this model is query-based (uses QUERY instead of TABLE_NAME)
|
|
855
855
|
|
|
@@ -872,7 +872,7 @@ static withQuery<T>(this: T, queryConfig:
|
|
|
872
872
|
}): T;
|
|
873
873
|
```
|
|
874
874
|
|
|
875
|
-
Defined in: [DBModel.ts:
|
|
875
|
+
Defined in: [DBModel.ts:1809](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1809)
|
|
876
876
|
|
|
877
877
|
Create a new model class bound to specific query parameters.
|
|
878
878
|
Used for parameterized query-based models.
|
|
@@ -923,7 +923,7 @@ class SalesReportModel extends DBModel {
|
|
|
923
923
|
static getUpdateTableName(): string;
|
|
924
924
|
```
|
|
925
925
|
|
|
926
|
-
Defined in: [DBModel.ts:
|
|
926
|
+
Defined in: [DBModel.ts:1859](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1859)
|
|
927
927
|
|
|
928
928
|
Get table name for UPDATE/DELETE queries.
|
|
929
929
|
Query-based models cannot be updated/deleted directly.
|
|
@@ -940,7 +940,7 @@ Query-based models cannot be updated/deleted directly.
|
|
|
940
940
|
clearRelationCache(): void;
|
|
941
941
|
```
|
|
942
942
|
|
|
943
|
-
Defined in: [DBModel.ts:
|
|
943
|
+
Defined in: [DBModel.ts:1923](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L1923)
|
|
944
944
|
|
|
945
945
|
Clear the relation cache for this instance.
|
|
946
946
|
Also clears the context cache to force reload from DB.
|
|
@@ -957,7 +957,7 @@ Also clears the context cache to force reload from DB.
|
|
|
957
957
|
typeCastFromDB(): void;
|
|
958
958
|
```
|
|
959
959
|
|
|
960
|
-
Defined in: [DBModel.ts:
|
|
960
|
+
Defined in: [DBModel.ts:2065](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2065)
|
|
961
961
|
|
|
962
962
|
Called after loading from DB to convert types
|
|
963
963
|
Override in derived class to implement type conversions
|
|
@@ -983,7 +983,7 @@ typeCastFromDB(): void {
|
|
|
983
983
|
getPkey(): Record<string, unknown> | null;
|
|
984
984
|
```
|
|
985
985
|
|
|
986
|
-
Defined in: [DBModel.ts:
|
|
986
|
+
Defined in: [DBModel.ts:2077](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2077)
|
|
987
987
|
|
|
988
988
|
Get primary key as object
|
|
989
989
|
|
|
@@ -1001,7 +1001,7 @@ Object with primary key column names and values, or null if not set
|
|
|
1001
1001
|
setPkey(key: unknown): void;
|
|
1002
1002
|
```
|
|
1003
1003
|
|
|
1004
|
-
Defined in: [DBModel.ts:
|
|
1004
|
+
Defined in: [DBModel.ts:2098](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2098)
|
|
1005
1005
|
|
|
1006
1006
|
Set primary key value
|
|
1007
1007
|
|
|
@@ -1023,7 +1023,7 @@ Set primary key value
|
|
|
1023
1023
|
getPkeyString(): string;
|
|
1024
1024
|
```
|
|
1025
1025
|
|
|
1026
|
-
Defined in: [DBModel.ts:
|
|
1026
|
+
Defined in: [DBModel.ts:2116](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2116)
|
|
1027
1027
|
|
|
1028
1028
|
Get primary key as string (for logging, caching, etc.)
|
|
1029
1029
|
|
|
@@ -1039,7 +1039,7 @@ Get primary key as string (for logging, caching, etc.)
|
|
|
1039
1039
|
getSingleColId(): unknown;
|
|
1040
1040
|
```
|
|
1041
1041
|
|
|
1042
|
-
Defined in: [DBModel.ts:
|
|
1042
|
+
Defined in: [DBModel.ts:2128](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2128)
|
|
1043
1043
|
|
|
1044
1044
|
Get single-column ID value
|
|
1045
1045
|
|
|
@@ -1057,7 +1057,7 @@ ID value or undefined
|
|
|
1057
1057
|
clone<T>(this: T): T;
|
|
1058
1058
|
```
|
|
1059
1059
|
|
|
1060
|
-
Defined in: [DBModel.ts:
|
|
1060
|
+
Defined in: [DBModel.ts:2143](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2143)
|
|
1061
1061
|
|
|
1062
1062
|
Create a shallow copy of the model instance
|
|
1063
1063
|
|
|
@@ -1085,7 +1085,7 @@ Create a shallow copy of the model instance
|
|
|
1085
1085
|
assign(source: Partial<this>): this;
|
|
1086
1086
|
```
|
|
1087
1087
|
|
|
1088
|
-
Defined in: [DBModel.ts:
|
|
1088
|
+
Defined in: [DBModel.ts:2151](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2151)
|
|
1089
1089
|
|
|
1090
1090
|
Copy properties from another object
|
|
1091
1091
|
|
|
@@ -1107,7 +1107,7 @@ Copy properties from another object
|
|
|
1107
1107
|
toObject(): Record<string, unknown>;
|
|
1108
1108
|
```
|
|
1109
1109
|
|
|
1110
|
-
Defined in: [DBModel.ts:
|
|
1110
|
+
Defined in: [DBModel.ts:2162](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2162)
|
|
1111
1111
|
|
|
1112
1112
|
Convert to plain object
|
|
1113
1113
|
|
|
@@ -1123,7 +1123,7 @@ Convert to plain object
|
|
|
1123
1123
|
toJSON(): Record<string, unknown>;
|
|
1124
1124
|
```
|
|
1125
1125
|
|
|
1126
|
-
Defined in: [DBModel.ts:
|
|
1126
|
+
Defined in: [DBModel.ts:2175](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2175)
|
|
1127
1127
|
|
|
1128
1128
|
Convert to JSON-serializable object
|
|
1129
1129
|
|
|
@@ -1139,7 +1139,7 @@ Convert to JSON-serializable object
|
|
|
1139
1139
|
static fromObject<T>(this: () => T, obj: Record<string, unknown>): T;
|
|
1140
1140
|
```
|
|
1141
1141
|
|
|
1142
|
-
Defined in: [DBModel.ts:
|
|
1142
|
+
Defined in: [DBModel.ts:2186](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2186)
|
|
1143
1143
|
|
|
1144
1144
|
Create an instance from a plain object
|
|
1145
1145
|
|
|
@@ -1168,7 +1168,7 @@ Create an instance from a plain object
|
|
|
1168
1168
|
static fromObjects<T>(this: () => T, objs: Record<string, unknown>[]): T[];
|
|
1169
1169
|
```
|
|
1170
1170
|
|
|
1171
|
-
Defined in: [DBModel.ts:
|
|
1171
|
+
Defined in: [DBModel.ts:2199](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2199)
|
|
1172
1172
|
|
|
1173
1173
|
Create multiple instances from an array of plain objects
|
|
1174
1174
|
|
|
@@ -1197,7 +1197,7 @@ Create multiple instances from an array of plain objects
|
|
|
1197
1197
|
static columnList<T>(records: T[], columnName: string): unknown[];
|
|
1198
1198
|
```
|
|
1199
1199
|
|
|
1200
|
-
Defined in: [DBModel.ts:
|
|
1200
|
+
Defined in: [DBModel.ts:2209](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2209)
|
|
1201
1201
|
|
|
1202
1202
|
Get column values from an array of model instances
|
|
1203
1203
|
|
|
@@ -1226,7 +1226,7 @@ Get column values from an array of model instances
|
|
|
1226
1226
|
static hashByProperty<T>(records: T[], propertyKey: string): Record<string, T>;
|
|
1227
1227
|
```
|
|
1228
1228
|
|
|
1229
|
-
Defined in: [DBModel.ts:
|
|
1229
|
+
Defined in: [DBModel.ts:2219](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2219)
|
|
1230
1230
|
|
|
1231
1231
|
Create a hash map by property value
|
|
1232
1232
|
|
|
@@ -1255,7 +1255,7 @@ Create a hash map by property value
|
|
|
1255
1255
|
static groupByProperty<T>(records: T[], propertyKey: string): Record<string, T[]>;
|
|
1256
1256
|
```
|
|
1257
1257
|
|
|
1258
|
-
Defined in: [DBModel.ts:
|
|
1258
|
+
Defined in: [DBModel.ts:2234](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2234)
|
|
1259
1259
|
|
|
1260
1260
|
Group records by property value
|
|
1261
1261
|
|
|
@@ -1284,7 +1284,7 @@ Group records by property value
|
|
|
1284
1284
|
static idList<T>(records: T[], column?: string): unknown[];
|
|
1285
1285
|
```
|
|
1286
1286
|
|
|
1287
|
-
Defined in: [DBModel.ts:
|
|
1287
|
+
Defined in: [DBModel.ts:2252](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2252)
|
|
1288
1288
|
|
|
1289
1289
|
Get ID list from records
|
|
1290
1290
|
|
|
@@ -1316,7 +1316,7 @@ static makeLikeString(
|
|
|
1316
1316
|
back?: boolean): string;
|
|
1317
1317
|
```
|
|
1318
1318
|
|
|
1319
|
-
Defined in: [DBModel.ts:
|
|
1319
|
+
Defined in: [DBModel.ts:2260](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2260)
|
|
1320
1320
|
|
|
1321
1321
|
Generate LIKE pattern string
|
|
1322
1322
|
|
|
@@ -1340,7 +1340,7 @@ Generate LIKE pattern string
|
|
|
1340
1340
|
static or<T>(this: T, ...condGroups: readonly CondsOf<T>[]): OrCondOf<T>;
|
|
1341
1341
|
```
|
|
1342
1342
|
|
|
1343
|
-
Defined in: [DBModel.ts:
|
|
1343
|
+
Defined in: [DBModel.ts:2297](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2297)
|
|
1344
1344
|
|
|
1345
1345
|
Create a type-safe OR condition for this model.
|
|
1346
1346
|
All columns in the conditions must belong to this model.
|
|
@@ -1391,7 +1391,7 @@ static find<T>(
|
|
|
1391
1391
|
options?: SelectOptions): Promise<InstanceType<T>[]>;
|
|
1392
1392
|
```
|
|
1393
1393
|
|
|
1394
|
-
Defined in: [DBModel.ts:
|
|
1394
|
+
Defined in: [DBModel.ts:2333](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2333)
|
|
1395
1395
|
|
|
1396
1396
|
Find all records using type-safe condition tuples.
|
|
1397
1397
|
All columns in conditions must belong to this model.
|
|
@@ -1445,7 +1445,7 @@ static findOne<T>(
|
|
|
1445
1445
|
options?: SelectOptions): Promise<InstanceType<T> | null>;
|
|
1446
1446
|
```
|
|
1447
1447
|
|
|
1448
|
-
Defined in: [DBModel.ts:
|
|
1448
|
+
Defined in: [DBModel.ts:2379](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2379)
|
|
1449
1449
|
|
|
1450
1450
|
Find first record using type-safe condition tuples.
|
|
1451
1451
|
|
|
@@ -1488,7 +1488,7 @@ static findById<T>(
|
|
|
1488
1488
|
options?: SelectOptions): Promise<InstanceType<T>[]>;
|
|
1489
1489
|
```
|
|
1490
1490
|
|
|
1491
|
-
Defined in: [DBModel.ts:
|
|
1491
|
+
Defined in: [DBModel.ts:2418](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2418)
|
|
1492
1492
|
|
|
1493
1493
|
Find records by primary key using PkeyResult format.
|
|
1494
1494
|
Efficiently fetches multiple records by their primary keys.
|
|
@@ -1540,7 +1540,7 @@ const users = await User.findById(result);
|
|
|
1540
1540
|
static count<T>(this: T, conditions: CondsOf<T>): Promise<number>;
|
|
1541
1541
|
```
|
|
1542
1542
|
|
|
1543
|
-
Defined in: [DBModel.ts:
|
|
1543
|
+
Defined in: [DBModel.ts:2483](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2483)
|
|
1544
1544
|
|
|
1545
1545
|
Count records using type-safe condition tuples.
|
|
1546
1546
|
|
|
@@ -1580,7 +1580,7 @@ static create<T, P>(
|
|
|
1580
1580
|
options?: InsertOptions<InstanceType<T>>): Promise<PkeyResult | null>;
|
|
1581
1581
|
```
|
|
1582
1582
|
|
|
1583
|
-
Defined in: [DBModel.ts:
|
|
1583
|
+
Defined in: [DBModel.ts:2518](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2518)
|
|
1584
1584
|
|
|
1585
1585
|
Create a new record using type-safe column-value tuples.
|
|
1586
1586
|
Value types are validated at compile time.
|
|
@@ -1634,7 +1634,7 @@ static createMany<T>(
|
|
|
1634
1634
|
options?: InsertOptions<InstanceType<T>>): Promise<PkeyResult | null>;
|
|
1635
1635
|
```
|
|
1636
1636
|
|
|
1637
|
-
Defined in: [DBModel.ts:
|
|
1637
|
+
Defined in: [DBModel.ts:2588](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2588)
|
|
1638
1638
|
|
|
1639
1639
|
Create multiple records using type-safe column-value tuples.
|
|
1640
1640
|
|
|
@@ -1687,7 +1687,7 @@ static update<T, V>(
|
|
|
1687
1687
|
options?: UpdateOptions): Promise<PkeyResult | null>;
|
|
1688
1688
|
```
|
|
1689
1689
|
|
|
1690
|
-
Defined in: [DBModel.ts:
|
|
1690
|
+
Defined in: [DBModel.ts:2658](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2658)
|
|
1691
1691
|
|
|
1692
1692
|
Update records using type-safe column-value tuples.
|
|
1693
1693
|
Value types are validated at compile time.
|
|
@@ -1743,7 +1743,7 @@ static delete<T>(
|
|
|
1743
1743
|
options?: DeleteOptions): Promise<PkeyResult | null>;
|
|
1744
1744
|
```
|
|
1745
1745
|
|
|
1746
|
-
Defined in: [DBModel.ts:
|
|
1746
|
+
Defined in: [DBModel.ts:2737](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2737)
|
|
1747
1747
|
|
|
1748
1748
|
Delete records matching conditions
|
|
1749
1749
|
|
|
@@ -1789,7 +1789,7 @@ static updateMany<T>(
|
|
|
1789
1789
|
options: UpdateManyOptions): Promise<PkeyResult | null>;
|
|
1790
1790
|
```
|
|
1791
1791
|
|
|
1792
|
-
Defined in: [DBModel.ts:
|
|
1792
|
+
Defined in: [DBModel.ts:2815](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2815)
|
|
1793
1793
|
|
|
1794
1794
|
Update multiple records with different values per row.
|
|
1795
1795
|
Uses efficient bulk update strategies (UNNEST for PostgreSQL, VALUES for MySQL/SQLite).
|
|
@@ -1841,7 +1841,7 @@ const users = await User.findById(result);
|
|
|
1841
1841
|
static execute(sql: string, params?: unknown[]): Promise<ExecuteResult>;
|
|
1842
1842
|
```
|
|
1843
1843
|
|
|
1844
|
-
Defined in: [DBModel.ts:
|
|
1844
|
+
Defined in: [DBModel.ts:2958](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2958)
|
|
1845
1845
|
|
|
1846
1846
|
Execute raw SQL query.
|
|
1847
1847
|
Accepts either a SQL string with params, or a `SqlFragment` from `sql` tagged template.
|
|
@@ -1884,7 +1884,7 @@ static execute(fragment:
|
|
|
1884
1884
|
| SqlCondition<unknown>): Promise<ExecuteResult>;
|
|
1885
1885
|
```
|
|
1886
1886
|
|
|
1887
|
-
Defined in: [DBModel.ts:
|
|
1887
|
+
Defined in: [DBModel.ts:2959](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L2959)
|
|
1888
1888
|
|
|
1889
1889
|
Execute raw SQL query.
|
|
1890
1890
|
Accepts either a SQL string with params, or a `SqlFragment` from `sql` tagged template.
|
|
@@ -1928,7 +1928,7 @@ static query<T>(
|
|
|
1928
1928
|
params?: unknown[]): Promise<InstanceType<T>[]>;
|
|
1929
1929
|
```
|
|
1930
1930
|
|
|
1931
|
-
Defined in: [DBModel.ts:
|
|
1931
|
+
Defined in: [DBModel.ts:3023](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L3023)
|
|
1932
1932
|
|
|
1933
1933
|
Execute raw SQL and return model instances.
|
|
1934
1934
|
The SQL should return columns matching the model's properties.
|
|
@@ -1977,7 +1977,7 @@ const posts = await Post.query(`
|
|
|
1977
1977
|
static inTransaction(): boolean;
|
|
1978
1978
|
```
|
|
1979
1979
|
|
|
1980
|
-
Defined in: [DBModel.ts:
|
|
1980
|
+
Defined in: [DBModel.ts:3055](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L3055)
|
|
1981
1981
|
|
|
1982
1982
|
Check if currently in a transaction
|
|
1983
1983
|
|
|
@@ -1993,7 +1993,7 @@ Check if currently in a transaction
|
|
|
1993
1993
|
static transaction<R>(func: () => Promise<R>, options?: TransactionOptions): Promise<R>;
|
|
1994
1994
|
```
|
|
1995
1995
|
|
|
1996
|
-
Defined in: [DBModel.ts:
|
|
1996
|
+
Defined in: [DBModel.ts:3093](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L3093)
|
|
1997
1997
|
|
|
1998
1998
|
Execute a function within a transaction
|
|
1999
1999
|
All model operations inside the callback will use the same database connection.
|
|
@@ -2052,7 +2052,7 @@ await DBModel.transaction(
|
|
|
2052
2052
|
static getCurrentConnection(): DBConnection | null;
|
|
2053
2053
|
```
|
|
2054
2054
|
|
|
2055
|
-
Defined in: [DBModel.ts:
|
|
2055
|
+
Defined in: [DBModel.ts:3237](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L3237)
|
|
2056
2056
|
|
|
2057
2057
|
Get current transaction connection
|
|
2058
2058
|
Use this to execute raw SQL queries within a transaction
|
|
@@ -2082,7 +2082,7 @@ await DBModel.transaction(async () => {
|
|
|
2082
2082
|
static getCurrentClient(): DBConnection | null;
|
|
2083
2083
|
```
|
|
2084
2084
|
|
|
2085
|
-
Defined in: [DBModel.ts:
|
|
2085
|
+
Defined in: [DBModel.ts:3245](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L3245)
|
|
2086
2086
|
|
|
2087
2087
|
#### Returns
|
|
2088
2088
|
|
|
@@ -2100,7 +2100,7 @@ Use getCurrentConnection() instead
|
|
|
2100
2100
|
static withWriter<R>(func: () => Promise<R>): Promise<R>;
|
|
2101
2101
|
```
|
|
2102
2102
|
|
|
2103
|
-
Defined in: [DBModel.ts:
|
|
2103
|
+
Defined in: [DBModel.ts:3270](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L3270)
|
|
2104
2104
|
|
|
2105
2105
|
Execute a function with explicit writer connection access.
|
|
2106
2106
|
Use this when you need to read from writer to avoid replication lag.
|
|
@@ -2146,7 +2146,7 @@ await DBModel.withWriter(async () => {
|
|
|
2146
2146
|
static createDBBase(config: DBConfig, options?: DBConfigOptions): typeof DBModel;
|
|
2147
2147
|
```
|
|
2148
2148
|
|
|
2149
|
-
Defined in: [DBModel.ts:
|
|
2149
|
+
Defined in: [DBModel.ts:3332](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L3332)
|
|
2150
2150
|
|
|
2151
2151
|
Create an independent database base class.
|
|
2152
2152
|
Use this to connect to multiple databases with isolated configurations.
|
|
@@ -2205,7 +2205,7 @@ await BaseDB.transaction(async () => {
|
|
|
2205
2205
|
reload(forUpdate?: boolean): Promise<DBModel | null>;
|
|
2206
2206
|
```
|
|
2207
2207
|
|
|
2208
|
-
Defined in: [DBModel.ts:
|
|
2208
|
+
Defined in: [DBModel.ts:3406](https://github.com/foo-ogawa/litedbmodel/blob/main/src/DBModel.ts#L3406)
|
|
2209
2209
|
|
|
2210
2210
|
Reload this instance from the database
|
|
2211
2211
|
|