@maiyunnet/kebab 9.7.1 → 9.7.3
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/doc/kebab-rag.md +103 -97
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/lib/sql.d.ts +2 -1
- package/lib/sql.js +14 -12
- package/package.json +1 -1
- package/sys/child.js +4 -4
- package/sys/mod.d.ts +4 -2
- package/sys/mod.js +11 -5
package/doc/kebab-rag.md
CHANGED
|
@@ -1360,7 +1360,7 @@ index/variables/VER.md
|
|
|
1360
1360
|
|
|
1361
1361
|
# Variable: VER
|
|
1362
1362
|
|
|
1363
|
-
> `const` **VER**: `"9.7.
|
|
1363
|
+
> `const` **VER**: `"9.7.3"` = `'9.7.3'`
|
|
1364
1364
|
|
|
1365
1365
|
Defined in: [index.ts:10](https://github.com/maiyunnet/kebab/blob/master/index.ts#L10)
|
|
1366
1366
|
|
|
@@ -13675,7 +13675,7 @@ Defined in: [lib/sql.ts:69](https://github.com/maiyunnet/kebab/blob/master/lib/s
|
|
|
13675
13675
|
|
|
13676
13676
|
> **append**(`sql`): `this`
|
|
13677
13677
|
|
|
13678
|
-
Defined in: [lib/sql.ts:
|
|
13678
|
+
Defined in: [lib/sql.ts:1005](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1005)
|
|
13679
13679
|
|
|
13680
13680
|
在 sql 最后追加字符串
|
|
13681
13681
|
|
|
@@ -13695,7 +13695,7 @@ Defined in: [lib/sql.ts:1003](https://github.com/maiyunnet/kebab/blob/master/lib
|
|
|
13695
13695
|
|
|
13696
13696
|
> **by**(`c`, `d?`): `this`
|
|
13697
13697
|
|
|
13698
|
-
Defined in: [lib/sql.ts:
|
|
13698
|
+
Defined in: [lib/sql.ts:761](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L761)
|
|
13699
13699
|
|
|
13700
13700
|
ORDER BY
|
|
13701
13701
|
|
|
@@ -13723,7 +13723,7 @@ ORDER BY
|
|
|
13723
13723
|
|
|
13724
13724
|
> **copy**(`f?`, `opt?`): `Sql`
|
|
13725
13725
|
|
|
13726
|
-
Defined in: [lib/sql.ts:
|
|
13726
|
+
Defined in: [lib/sql.ts:829](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L829)
|
|
13727
13727
|
|
|
13728
13728
|
创建一个本对象的一个新的 sql 对象拷贝
|
|
13729
13729
|
|
|
@@ -13751,7 +13751,7 @@ Defined in: [lib/sql.ts:827](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13751
13751
|
|
|
13752
13752
|
> **crossJoin**(`f`, `s?`, `suf?`, `pre?`): `this`
|
|
13753
13753
|
|
|
13754
|
-
Defined in: [lib/sql.ts:
|
|
13754
|
+
Defined in: [lib/sql.ts:490](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L490)
|
|
13755
13755
|
|
|
13756
13756
|
cross join 方法
|
|
13757
13757
|
|
|
@@ -13791,7 +13791,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅在 join 非默认前
|
|
|
13791
13791
|
|
|
13792
13792
|
> **delete**(`f`): `this`
|
|
13793
13793
|
|
|
13794
|
-
Defined in: [lib/sql.ts:
|
|
13794
|
+
Defined in: [lib/sql.ts:378](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L378)
|
|
13795
13795
|
|
|
13796
13796
|
'xx'
|
|
13797
13797
|
|
|
@@ -13813,7 +13813,7 @@ Defined in: [lib/sql.ts:376](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13813
13813
|
|
|
13814
13814
|
> **field**(`str`, `pre?`, `suf?`): `string`
|
|
13815
13815
|
|
|
13816
|
-
Defined in: [lib/sql.ts:
|
|
13816
|
+
Defined in: [lib/sql.ts:1016](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1016)
|
|
13817
13817
|
|
|
13818
13818
|
对字段进行包裹
|
|
13819
13819
|
|
|
@@ -13845,7 +13845,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅请在 field 表名时
|
|
|
13845
13845
|
|
|
13846
13846
|
> **format**(`sql?`, `data?`): `string`
|
|
13847
13847
|
|
|
13848
|
-
Defined in: [lib/sql.ts:
|
|
13848
|
+
Defined in: [lib/sql.ts:995](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L995)
|
|
13849
13849
|
|
|
13850
13850
|
获取带 data 的 sql 语句
|
|
13851
13851
|
|
|
@@ -13869,7 +13869,7 @@ Defined in: [lib/sql.ts:993](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13869
13869
|
|
|
13870
13870
|
> **fullJoin**(`f`, `s?`, `suf?`, `pre?`): `this`
|
|
13871
13871
|
|
|
13872
|
-
Defined in: [lib/sql.ts:
|
|
13872
|
+
Defined in: [lib/sql.ts:479](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L479)
|
|
13873
13873
|
|
|
13874
13874
|
full join 方法
|
|
13875
13875
|
|
|
@@ -13909,7 +13909,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅在 join 非默认前
|
|
|
13909
13909
|
|
|
13910
13910
|
> **getData**(): [`DbValue`](../../../index/type-aliases/DbValue.md)[]
|
|
13911
13911
|
|
|
13912
|
-
Defined in: [lib/sql.ts:
|
|
13912
|
+
Defined in: [lib/sql.ts:979](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L979)
|
|
13913
13913
|
|
|
13914
13914
|
获取全部 data
|
|
13915
13915
|
|
|
@@ -13923,7 +13923,7 @@ Defined in: [lib/sql.ts:977](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13923
13923
|
|
|
13924
13924
|
> **getPre**(): `string`
|
|
13925
13925
|
|
|
13926
|
-
Defined in: [lib/sql.ts:
|
|
13926
|
+
Defined in: [lib/sql.ts:986](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L986)
|
|
13927
13927
|
|
|
13928
13928
|
获取定义的 pre
|
|
13929
13929
|
|
|
@@ -13937,7 +13937,7 @@ Defined in: [lib/sql.ts:984](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13937
13937
|
|
|
13938
13938
|
> **getSql**(): `string`
|
|
13939
13939
|
|
|
13940
|
-
Defined in: [lib/sql.ts:
|
|
13940
|
+
Defined in: [lib/sql.ts:963](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L963)
|
|
13941
13941
|
|
|
13942
13942
|
获取 sql 语句
|
|
13943
13943
|
|
|
@@ -13951,7 +13951,7 @@ Defined in: [lib/sql.ts:961](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13951
13951
|
|
|
13952
13952
|
> **group**(`c`): `this`
|
|
13953
13953
|
|
|
13954
|
-
Defined in: [lib/sql.ts:
|
|
13954
|
+
Defined in: [lib/sql.ts:785](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L785)
|
|
13955
13955
|
|
|
13956
13956
|
GROUP BY
|
|
13957
13957
|
|
|
@@ -13973,7 +13973,7 @@ GROUP BY
|
|
|
13973
13973
|
|
|
13974
13974
|
> **having**(`s?`): `this`
|
|
13975
13975
|
|
|
13976
|
-
Defined in: [lib/sql.ts:
|
|
13976
|
+
Defined in: [lib/sql.ts:497](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L497)
|
|
13977
13977
|
|
|
13978
13978
|
having 后置筛选器,用法类似 where
|
|
13979
13979
|
|
|
@@ -13993,7 +13993,7 @@ having 后置筛选器,用法类似 where
|
|
|
13993
13993
|
|
|
13994
13994
|
> **innerJoin**(`f`, `s?`, `suf?`, `pre?`): `this`
|
|
13995
13995
|
|
|
13996
|
-
Defined in: [lib/sql.ts:
|
|
13996
|
+
Defined in: [lib/sql.ts:468](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L468)
|
|
13997
13997
|
|
|
13998
13998
|
inner join 方法
|
|
13999
13999
|
|
|
@@ -14061,7 +14061,7 @@ Defined in: [lib/sql.ts:99](https://github.com/maiyunnet/kebab/blob/master/lib/s
|
|
|
14061
14061
|
|
|
14062
14062
|
> **join**(`f`, `s?`, `type?`, `suf?`, `pre?`): `this`
|
|
14063
14063
|
|
|
14064
|
-
Defined in: [lib/sql.ts:
|
|
14064
|
+
Defined in: [lib/sql.ts:420](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L420)
|
|
14065
14065
|
|
|
14066
14066
|
join 方法
|
|
14067
14067
|
|
|
@@ -14107,7 +14107,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅在 join 非默认前
|
|
|
14107
14107
|
|
|
14108
14108
|
> **leftJoin**(`f`, `s?`, `suf?`, `pre?`): `this`
|
|
14109
14109
|
|
|
14110
|
-
Defined in: [lib/sql.ts:
|
|
14110
|
+
Defined in: [lib/sql.ts:446](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L446)
|
|
14111
14111
|
|
|
14112
14112
|
left join 方法
|
|
14113
14113
|
|
|
@@ -14147,7 +14147,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅在 join 非默认前
|
|
|
14147
14147
|
|
|
14148
14148
|
> **limit**(`a`, `b?`): `this`
|
|
14149
14149
|
|
|
14150
|
-
Defined in: [lib/sql.ts:
|
|
14150
|
+
Defined in: [lib/sql.ts:805](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L805)
|
|
14151
14151
|
|
|
14152
14152
|
LIMIT(limit、offset, limit)
|
|
14153
14153
|
|
|
@@ -14175,7 +14175,7 @@ LIMIT(limit、offset, limit)
|
|
|
14175
14175
|
|
|
14176
14176
|
> **lock**(): `this`
|
|
14177
14177
|
|
|
14178
|
-
Defined in: [lib/sql.ts:
|
|
14178
|
+
Defined in: [lib/sql.ts:820](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L820)
|
|
14179
14179
|
|
|
14180
14180
|
追加消极锁,通常不建议使用
|
|
14181
14181
|
|
|
@@ -14189,7 +14189,7 @@ Defined in: [lib/sql.ts:818](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
14189
14189
|
|
|
14190
14190
|
> **rightJoin**(`f`, `s?`, `suf?`, `pre?`): `this`
|
|
14191
14191
|
|
|
14192
|
-
Defined in: [lib/sql.ts:
|
|
14192
|
+
Defined in: [lib/sql.ts:457](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L457)
|
|
14193
14193
|
|
|
14194
14194
|
right join 方法
|
|
14195
14195
|
|
|
@@ -14229,7 +14229,7 @@ MySQL 时为表前缀,PostgreSQL 时为 Schema 名,仅在 join 非默认前
|
|
|
14229
14229
|
|
|
14230
14230
|
> **select**(`c`, `f`): `this`
|
|
14231
14231
|
|
|
14232
|
-
Defined in: [lib/sql.ts:
|
|
14232
|
+
Defined in: [lib/sql.ts:269](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L269)
|
|
14233
14233
|
|
|
14234
14234
|
'*', 'xx'
|
|
14235
14235
|
|
|
@@ -14257,7 +14257,7 @@ Defined in: [lib/sql.ts:267](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
14257
14257
|
|
|
14258
14258
|
> **union**(`lsql`, `type?`): `this`
|
|
14259
14259
|
|
|
14260
|
-
Defined in: [lib/sql.ts:
|
|
14260
|
+
Defined in: [lib/sql.ts:390](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L390)
|
|
14261
14261
|
|
|
14262
14262
|
联查另一个 sql 对象
|
|
14263
14263
|
|
|
@@ -14285,7 +14285,7 @@ sql 对象
|
|
|
14285
14285
|
|
|
14286
14286
|
> **unionAll**(`lsql`): `this`
|
|
14287
14287
|
|
|
14288
|
-
Defined in: [lib/sql.ts:
|
|
14288
|
+
Defined in: [lib/sql.ts:408](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L408)
|
|
14289
14289
|
|
|
14290
14290
|
所有联查另一个 sql 对象
|
|
14291
14291
|
|
|
@@ -14307,7 +14307,7 @@ sql 对象
|
|
|
14307
14307
|
|
|
14308
14308
|
> **update**(`f`, `s`): `this`
|
|
14309
14309
|
|
|
14310
|
-
Defined in: [lib/sql.ts:
|
|
14310
|
+
Defined in: [lib/sql.ts:310](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L310)
|
|
14311
14311
|
|
|
14312
14312
|
UPDATE SQL 方法
|
|
14313
14313
|
|
|
@@ -14335,7 +14335,7 @@ UPDATE SQL 方法
|
|
|
14335
14335
|
|
|
14336
14336
|
> **updateByValues**(`table`, `key`, `cols`, `rows`): `this`
|
|
14337
14337
|
|
|
14338
|
-
Defined in: [lib/sql.ts:
|
|
14338
|
+
Defined in: [lib/sql.ts:215](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L215)
|
|
14339
14339
|
|
|
14340
14340
|
批量 UPDATE,以子查询作为数据源,纯更新语义(不会插入新行)
|
|
14341
14341
|
MySQL: UPDATE t INNER JOIN (SELECT col AS alias ... UNION ALL SELECT ...) AS tmp ON t.key=tmp.key SET t.c=tmp.c
|
|
@@ -14353,7 +14353,8 @@ PostgreSQL: UPDATE t SET c=tmp.c FROM (VALUES ($1,...)) AS tmp(cols) WHERE t.key
|
|
|
14353
14353
|
|
|
14354
14354
|
`string`
|
|
14355
14355
|
|
|
14356
|
-
|
|
14356
|
+
用于定位待更新记录的字段名,通常为主键或唯一键,至少必须建立索引;
|
|
14357
|
+
该参数是字段名而不是索引名,仅参与 ON / WHERE 匹配,不会被更新
|
|
14357
14358
|
|
|
14358
14359
|
##### cols
|
|
14359
14360
|
|
|
@@ -14433,7 +14434,7 @@ Defined in: [lib/sql.ts:118](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
14433
14434
|
|
|
14434
14435
|
> **where**(`s`): `this`
|
|
14435
14436
|
|
|
14436
|
-
Defined in: [lib/sql.ts:
|
|
14437
|
+
Defined in: [lib/sql.ts:531](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L531)
|
|
14437
14438
|
|
|
14438
14439
|
筛选器
|
|
14439
14440
|
1. 'city': 'bj', 'type': '2'
|
|
@@ -14576,7 +14577,7 @@ lib/sql/functions/aoMix.md
|
|
|
14576
14577
|
|
|
14577
14578
|
> **aoMix**(`arr`): `Record`\<`string`, `string` \| `number` \| [`Json`](../../../index/type-aliases/Json.md)\>
|
|
14578
14579
|
|
|
14579
|
-
Defined in: [lib/sql.ts:
|
|
14580
|
+
Defined in: [lib/sql.ts:1401](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1401)
|
|
14580
14581
|
|
|
14581
14582
|
将数组兑换为组合的对象(Array/Object mix)
|
|
14582
14583
|
|
|
@@ -14605,7 +14606,7 @@ lib/sql/functions/column.md
|
|
|
14605
14606
|
|
|
14606
14607
|
> **column**(`field`): `object`
|
|
14607
14608
|
|
|
14608
|
-
Defined in: [lib/sql.ts:
|
|
14609
|
+
Defined in: [lib/sql.ts:1422](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1422)
|
|
14609
14610
|
|
|
14610
14611
|
创建字段对象
|
|
14611
14612
|
|
|
@@ -14644,7 +14645,7 @@ lib/sql/functions/format.md
|
|
|
14644
14645
|
|
|
14645
14646
|
> **format**(`sql`, `data`, `service?`): `string`
|
|
14646
14647
|
|
|
14647
|
-
Defined in: [lib/sql.ts:
|
|
14648
|
+
Defined in: [lib/sql.ts:1363](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1363)
|
|
14648
14649
|
|
|
14649
14650
|
返回代入后的完整 SQL 字符串,这并不安全不能直接执行,只是用来调试打印 sql 语句
|
|
14650
14651
|
|
|
@@ -14685,7 +14686,7 @@ lib/sql/functions/get.md
|
|
|
14685
14686
|
|
|
14686
14687
|
> **get**(`opt`): [`Sql`](../classes/Sql.md)
|
|
14687
14688
|
|
|
14688
|
-
Defined in: [lib/sql.ts:
|
|
14689
|
+
Defined in: [lib/sql.ts:1335](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1335)
|
|
14689
14690
|
|
|
14690
14691
|
创建 sql 对象
|
|
14691
14692
|
|
|
@@ -14738,7 +14739,7 @@ lib/sql/functions/json.md
|
|
|
14738
14739
|
|
|
14739
14740
|
> **json**(`obj`): `any`
|
|
14740
14741
|
|
|
14741
|
-
Defined in: [lib/sql.ts:
|
|
14742
|
+
Defined in: [lib/sql.ts:1460](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1460)
|
|
14742
14743
|
|
|
14743
14744
|
将对象转换为 JSON 字符串并避开类型检查,用于适配 PostgreSQL 的 jsonb 字段
|
|
14744
14745
|
|
|
@@ -14767,7 +14768,7 @@ lib/sql/functions/value.md
|
|
|
14767
14768
|
|
|
14768
14769
|
> **value**(`val`): `object`
|
|
14769
14770
|
|
|
14770
|
-
Defined in: [lib/sql.ts:
|
|
14771
|
+
Defined in: [lib/sql.ts:1441](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1441)
|
|
14771
14772
|
|
|
14772
14773
|
创建字面量值对象,用于 where 条件中 v[0] 需要是值而非字段名的场景
|
|
14773
14774
|
例:[value('hello'), 'IN', column('tags')]
|
|
@@ -23702,7 +23703,7 @@ Defined in: [sys/mod.ts:68](https://github.com/maiyunnet/kebab/blob/master/sys/m
|
|
|
23702
23703
|
|
|
23703
23704
|
> `protected` **\_keyGenerator**(): `string`
|
|
23704
23705
|
|
|
23705
|
-
Defined in: [sys/mod.ts:
|
|
23706
|
+
Defined in: [sys/mod.ts:1785](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1785)
|
|
23706
23707
|
|
|
23707
23708
|
当 _key 不为空时,则依据继承此方法的方法自动生成填充 key
|
|
23708
23709
|
|
|
@@ -23724,7 +23725,7 @@ Defined in: [sys/mod.ts:1778](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
23724
23725
|
|
|
23725
23726
|
> **all**(): `Promise`\<`false` \| [`Rows`](Rows.md)\<`Mod`\>\>
|
|
23726
23727
|
|
|
23727
|
-
Defined in: [sys/mod.ts:
|
|
23728
|
+
Defined in: [sys/mod.ts:1127](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1127)
|
|
23728
23729
|
|
|
23729
23730
|
##### Returns
|
|
23730
23731
|
|
|
@@ -23734,7 +23735,7 @@ Defined in: [sys/mod.ts:1120](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
23734
23735
|
|
|
23735
23736
|
> **all**(`key`): `Promise`\<`false` \| `Record`\<`string`, `Mod`\>\>
|
|
23736
23737
|
|
|
23737
|
-
Defined in: [sys/mod.ts:
|
|
23738
|
+
Defined in: [sys/mod.ts:1128](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1128)
|
|
23738
23739
|
|
|
23739
23740
|
##### Parameters
|
|
23740
23741
|
|
|
@@ -23760,7 +23761,7 @@ Defined in: [sys/mod.ts:1121](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
23760
23761
|
|
|
23761
23762
|
> **allArray**(): `Promise`\<`false` \| `Record`\<`string`, `any`\>[]\>
|
|
23762
23763
|
|
|
23763
|
-
Defined in: [sys/mod.ts:
|
|
23764
|
+
Defined in: [sys/mod.ts:1306](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1306)
|
|
23764
23765
|
|
|
23765
23766
|
##### Returns
|
|
23766
23767
|
|
|
@@ -23770,7 +23771,7 @@ Defined in: [sys/mod.ts:1299](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
23770
23771
|
|
|
23771
23772
|
> **allArray**(`key`): `Promise`\<`false` \| `Record`\<`string`, `Record`\<`string`, `any`\>\>\>
|
|
23772
23773
|
|
|
23773
|
-
Defined in: [sys/mod.ts:
|
|
23774
|
+
Defined in: [sys/mod.ts:1307](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1307)
|
|
23774
23775
|
|
|
23775
23776
|
##### Parameters
|
|
23776
23777
|
|
|
@@ -23788,7 +23789,7 @@ Defined in: [sys/mod.ts:1300](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
23788
23789
|
|
|
23789
23790
|
> **append**(`sql`): `this`
|
|
23790
23791
|
|
|
23791
|
-
Defined in: [sys/mod.ts:
|
|
23792
|
+
Defined in: [sys/mod.ts:1694](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1694)
|
|
23792
23793
|
|
|
23793
23794
|
在 sql 最后追加字符串
|
|
23794
23795
|
|
|
@@ -23808,7 +23809,7 @@ Defined in: [sys/mod.ts:1687](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
23808
23809
|
|
|
23809
23810
|
> **by**(`c`, `d?`): `this`
|
|
23810
23811
|
|
|
23811
|
-
Defined in: [sys/mod.ts:
|
|
23812
|
+
Defined in: [sys/mod.ts:1650](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1650)
|
|
23812
23813
|
|
|
23813
23814
|
ORDER BY
|
|
23814
23815
|
|
|
@@ -23836,7 +23837,7 @@ ORDER BY
|
|
|
23836
23837
|
|
|
23837
23838
|
> **contain**(`contain`): `this`
|
|
23838
23839
|
|
|
23839
|
-
Defined in: [sys/mod.ts:
|
|
23840
|
+
Defined in: [sys/mod.ts:1703](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1703)
|
|
23840
23841
|
|
|
23841
23842
|
设置闭包含数据
|
|
23842
23843
|
|
|
@@ -23864,7 +23865,7 @@ Defined in: [sys/mod.ts:1696](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
23864
23865
|
|
|
23865
23866
|
> **count**(): `Promise`\<`number`\>
|
|
23866
23867
|
|
|
23867
|
-
Defined in: [sys/mod.ts:
|
|
23868
|
+
Defined in: [sys/mod.ts:1514](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1514)
|
|
23868
23869
|
|
|
23869
23870
|
根据当前条件,筛选出当前条目该有的数据条数
|
|
23870
23871
|
|
|
@@ -23878,7 +23879,7 @@ Defined in: [sys/mod.ts:1507](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
23878
23879
|
|
|
23879
23880
|
> **countSql**(): `string`
|
|
23880
23881
|
|
|
23881
|
-
Defined in: [sys/mod.ts:
|
|
23882
|
+
Defined in: [sys/mod.ts:1535](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1535)
|
|
23882
23883
|
|
|
23883
23884
|
获取当前条件下的 count 的 SQL 语句
|
|
23884
23885
|
|
|
@@ -23892,7 +23893,7 @@ Defined in: [sys/mod.ts:1528](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
23892
23893
|
|
|
23893
23894
|
> **create**(): `Promise`\<`boolean` \| `null`\>
|
|
23894
23895
|
|
|
23895
|
-
Defined in: [sys/mod.ts:
|
|
23896
|
+
Defined in: [sys/mod.ts:821](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L821)
|
|
23896
23897
|
|
|
23897
23898
|
创建数据
|
|
23898
23899
|
|
|
@@ -23908,7 +23909,7 @@ true-成功,false-报错,null-唯一键非 _$key 键冲突
|
|
|
23908
23909
|
|
|
23909
23910
|
> **crossJoin**(`f`, `s`, `index?`, `pre?`): `this`
|
|
23910
23911
|
|
|
23911
|
-
Defined in: [sys/mod.ts:
|
|
23912
|
+
Defined in: [sys/mod.ts:1610](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1610)
|
|
23912
23913
|
|
|
23913
23914
|
cross join 方法
|
|
23914
23915
|
|
|
@@ -23956,7 +23957,7 @@ ON 信息
|
|
|
23956
23957
|
|
|
23957
23958
|
> **explain**(`all?`): `Promise`\<`string` \| `false`\>
|
|
23958
23959
|
|
|
23959
|
-
Defined in: [sys/mod.ts:
|
|
23960
|
+
Defined in: [sys/mod.ts:1432](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1432)
|
|
23960
23961
|
|
|
23961
23962
|
##### Parameters
|
|
23962
23963
|
|
|
@@ -23972,7 +23973,7 @@ Defined in: [sys/mod.ts:1425](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
23972
23973
|
|
|
23973
23974
|
> **explain**(`all`): `Promise`\<`false` \| `Record`\<`string`, `any`\>\>
|
|
23974
23975
|
|
|
23975
|
-
Defined in: [sys/mod.ts:
|
|
23976
|
+
Defined in: [sys/mod.ts:1433](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1433)
|
|
23976
23977
|
|
|
23977
23978
|
##### Parameters
|
|
23978
23979
|
|
|
@@ -23990,7 +23991,7 @@ Defined in: [sys/mod.ts:1426](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
23990
23991
|
|
|
23991
23992
|
> **filter**(`s`): `this`
|
|
23992
23993
|
|
|
23993
|
-
Defined in: [sys/mod.ts:
|
|
23994
|
+
Defined in: [sys/mod.ts:1628](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1628)
|
|
23994
23995
|
|
|
23995
23996
|
筛选器
|
|
23996
23997
|
|
|
@@ -24024,7 +24025,7 @@ Defined in: [sys/mod.ts:1621](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24024
24025
|
|
|
24025
24026
|
> **first**(`lock`, `array`): `Promise`\<`false` \| `Record`\<`string`, `any`\> \| `null`\>
|
|
24026
24027
|
|
|
24027
|
-
Defined in: [sys/mod.ts:
|
|
24028
|
+
Defined in: [sys/mod.ts:1016](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1016)
|
|
24028
24029
|
|
|
24029
24030
|
##### Parameters
|
|
24030
24031
|
|
|
@@ -24044,7 +24045,7 @@ Defined in: [sys/mod.ts:1009](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24044
24045
|
|
|
24045
24046
|
> **first**(`lock?`, `array?`): `Promise`\<`false` \| `Mod` & `Record`\<`string`, `any`\> \| `null`\>
|
|
24046
24047
|
|
|
24047
|
-
Defined in: [sys/mod.ts:
|
|
24048
|
+
Defined in: [sys/mod.ts:1020](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1020)
|
|
24048
24049
|
|
|
24049
24050
|
##### Parameters
|
|
24050
24051
|
|
|
@@ -24066,7 +24067,7 @@ Defined in: [sys/mod.ts:1013](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24066
24067
|
|
|
24067
24068
|
> **firstArray**(`lock?`): `Promise`\<`false` \| `Record`\<`string`, `any`\> \| `null`\>
|
|
24068
24069
|
|
|
24069
|
-
Defined in: [sys/mod.ts:
|
|
24070
|
+
Defined in: [sys/mod.ts:1060](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1060)
|
|
24070
24071
|
|
|
24071
24072
|
获取数据库第一个原生对象
|
|
24072
24073
|
|
|
@@ -24088,7 +24089,7 @@ Defined in: [sys/mod.ts:1053](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24088
24089
|
|
|
24089
24090
|
> **format**(`sql?`, `data?`): `string`
|
|
24090
24091
|
|
|
24091
|
-
Defined in: [sys/mod.ts:
|
|
24092
|
+
Defined in: [sys/mod.ts:1730](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1730)
|
|
24092
24093
|
|
|
24093
24094
|
获取带 data 的 sql 语句
|
|
24094
24095
|
|
|
@@ -24116,7 +24117,7 @@ sql 语句
|
|
|
24116
24117
|
|
|
24117
24118
|
> **fullJoin**(`f`, `s`, `index?`, `pre?`): `this`
|
|
24118
24119
|
|
|
24119
|
-
Defined in: [sys/mod.ts:
|
|
24120
|
+
Defined in: [sys/mod.ts:1598](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1598)
|
|
24120
24121
|
|
|
24121
24122
|
full join 方法
|
|
24122
24123
|
|
|
@@ -24156,7 +24157,7 @@ ON 信息
|
|
|
24156
24157
|
|
|
24157
24158
|
> **get**(`n`): `any`
|
|
24158
24159
|
|
|
24159
|
-
Defined in: [sys/mod.ts:
|
|
24160
|
+
Defined in: [sys/mod.ts:813](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L813)
|
|
24160
24161
|
|
|
24161
24162
|
获取一个字段值
|
|
24162
24163
|
|
|
@@ -24178,7 +24179,7 @@ Defined in: [sys/mod.ts:806](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
24178
24179
|
|
|
24179
24180
|
> **getData**(): `any`[]
|
|
24180
24181
|
|
|
24181
|
-
Defined in: [sys/mod.ts:
|
|
24182
|
+
Defined in: [sys/mod.ts:1721](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1721)
|
|
24182
24183
|
|
|
24183
24184
|
获取全部 data
|
|
24184
24185
|
|
|
@@ -24192,7 +24193,7 @@ Defined in: [sys/mod.ts:1714](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24192
24193
|
|
|
24193
24194
|
> **getSql**(): `string`
|
|
24194
24195
|
|
|
24195
|
-
Defined in: [sys/mod.ts:
|
|
24196
|
+
Defined in: [sys/mod.ts:1714](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1714)
|
|
24196
24197
|
|
|
24197
24198
|
获取 sql 语句
|
|
24198
24199
|
|
|
@@ -24206,7 +24207,7 @@ Defined in: [sys/mod.ts:1707](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24206
24207
|
|
|
24207
24208
|
> **group**(`c`): `this`
|
|
24208
24209
|
|
|
24209
|
-
Defined in: [sys/mod.ts:
|
|
24210
|
+
Defined in: [sys/mod.ts:1659](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1659)
|
|
24210
24211
|
|
|
24211
24212
|
GROUP BY
|
|
24212
24213
|
|
|
@@ -24228,7 +24229,7 @@ GROUP BY
|
|
|
24228
24229
|
|
|
24229
24230
|
> **having**(`s`): `this`
|
|
24230
24231
|
|
|
24231
|
-
Defined in: [sys/mod.ts:
|
|
24232
|
+
Defined in: [sys/mod.ts:1619](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1619)
|
|
24232
24233
|
|
|
24233
24234
|
筛选器
|
|
24234
24235
|
|
|
@@ -24250,7 +24251,7 @@ Defined in: [sys/mod.ts:1612](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24250
24251
|
|
|
24251
24252
|
> **innerJoin**(`f`, `s`, `index?`, `pre?`): `this`
|
|
24252
24253
|
|
|
24253
|
-
Defined in: [sys/mod.ts:
|
|
24254
|
+
Defined in: [sys/mod.ts:1586](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1586)
|
|
24254
24255
|
|
|
24255
24256
|
inner join 方法
|
|
24256
24257
|
|
|
@@ -24290,7 +24291,7 @@ ON 信息
|
|
|
24290
24291
|
|
|
24291
24292
|
> **join**(`f`, `s?`, `type?`, `index?`, `pre?`): `this`
|
|
24292
24293
|
|
|
24293
|
-
Defined in: [sys/mod.ts:
|
|
24294
|
+
Defined in: [sys/mod.ts:1550](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1550)
|
|
24294
24295
|
|
|
24295
24296
|
#### Parameters
|
|
24296
24297
|
|
|
@@ -24334,7 +24335,7 @@ ON 信息
|
|
|
24334
24335
|
|
|
24335
24336
|
> **langText**(`col`, `lang`): `string`
|
|
24336
24337
|
|
|
24337
|
-
Defined in: [sys/mod.ts:
|
|
24338
|
+
Defined in: [sys/mod.ts:1765](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1765)
|
|
24338
24339
|
|
|
24339
24340
|
获取字段的可用语种文本
|
|
24340
24341
|
|
|
@@ -24362,7 +24363,7 @@ Defined in: [sys/mod.ts:1758](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24362
24363
|
|
|
24363
24364
|
> **leftJoin**(`f`, `s`, `index?`, `pre?`): `this`
|
|
24364
24365
|
|
|
24365
|
-
Defined in: [sys/mod.ts:
|
|
24366
|
+
Defined in: [sys/mod.ts:1562](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1562)
|
|
24366
24367
|
|
|
24367
24368
|
left join 方法
|
|
24368
24369
|
|
|
@@ -24402,7 +24403,7 @@ ON 信息
|
|
|
24402
24403
|
|
|
24403
24404
|
> **limit**(`a`, `b?`): `this`
|
|
24404
24405
|
|
|
24405
|
-
Defined in: [sys/mod.ts:
|
|
24406
|
+
Defined in: [sys/mod.ts:1672](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1672)
|
|
24406
24407
|
|
|
24407
24408
|
LIMIT
|
|
24408
24409
|
|
|
@@ -24430,7 +24431,7 @@ LIMIT
|
|
|
24430
24431
|
|
|
24431
24432
|
> **page**(`count`, `page?`): `this`
|
|
24432
24433
|
|
|
24433
|
-
Defined in: [sys/mod.ts:
|
|
24434
|
+
Defined in: [sys/mod.ts:1683](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1683)
|
|
24434
24435
|
|
|
24435
24436
|
分页
|
|
24436
24437
|
|
|
@@ -24458,7 +24459,7 @@ Defined in: [sys/mod.ts:1676](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24458
24459
|
|
|
24459
24460
|
> **refresh**(`lock?`): `Promise`\<`boolean` \| `null`\>
|
|
24460
24461
|
|
|
24461
|
-
Defined in: [sys/mod.ts:
|
|
24462
|
+
Defined in: [sys/mod.ts:941](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L941)
|
|
24462
24463
|
|
|
24463
24464
|
刷新当前模型获取最新数据
|
|
24464
24465
|
|
|
@@ -24480,7 +24481,7 @@ Defined in: [sys/mod.ts:934](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
24480
24481
|
|
|
24481
24482
|
> **remove**(): `Promise`\<`boolean`\>
|
|
24482
24483
|
|
|
24483
|
-
Defined in: [sys/mod.ts:
|
|
24484
|
+
Defined in: [sys/mod.ts:998](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L998)
|
|
24484
24485
|
|
|
24485
24486
|
移除本条目
|
|
24486
24487
|
|
|
@@ -24494,7 +24495,7 @@ Defined in: [sys/mod.ts:991](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
24494
24495
|
|
|
24495
24496
|
> **rightJoin**(`f`, `s`, `index?`, `pre?`): `this`
|
|
24496
24497
|
|
|
24497
|
-
Defined in: [sys/mod.ts:
|
|
24498
|
+
Defined in: [sys/mod.ts:1574](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1574)
|
|
24498
24499
|
|
|
24499
24500
|
right join 方法
|
|
24500
24501
|
|
|
@@ -24534,7 +24535,7 @@ ON 信息
|
|
|
24534
24535
|
|
|
24535
24536
|
> **save**(`where?`): `Promise`\<`boolean`\>
|
|
24536
24537
|
|
|
24537
|
-
Defined in: [sys/mod.ts:
|
|
24538
|
+
Defined in: [sys/mod.ts:969](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L969)
|
|
24538
24539
|
|
|
24539
24540
|
更新 set 的数据到数据库,有未保存数据时才保存
|
|
24540
24541
|
|
|
@@ -24568,7 +24569,7 @@ Defined in: [sys/mod.ts:962](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
24568
24569
|
|
|
24569
24570
|
> **set**\<`T`, `TK`\>(`n`): `void`
|
|
24570
24571
|
|
|
24571
|
-
Defined in: [sys/mod.ts:
|
|
24572
|
+
Defined in: [sys/mod.ts:774](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L774)
|
|
24572
24573
|
|
|
24573
24574
|
##### Type Parameters
|
|
24574
24575
|
|
|
@@ -24594,7 +24595,7 @@ Defined in: [sys/mod.ts:767](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
24594
24595
|
|
|
24595
24596
|
> **set**\<`T`, `TK`\>(`n`, `v`): `void`
|
|
24596
24597
|
|
|
24597
|
-
Defined in: [sys/mod.ts:
|
|
24598
|
+
Defined in: [sys/mod.ts:775](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L775)
|
|
24598
24599
|
|
|
24599
24600
|
##### Type Parameters
|
|
24600
24601
|
|
|
@@ -24626,7 +24627,7 @@ Defined in: [sys/mod.ts:768](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
24626
24627
|
|
|
24627
24628
|
> **toArray**\<`TC`\>(): [`TOnlyProperties`](../type-aliases/TOnlyProperties.md)\<`InstanceType`\<`TC`\>\> & `Record`\<`string`, `any`\>
|
|
24628
24629
|
|
|
24629
|
-
Defined in: [sys/mod.ts:
|
|
24630
|
+
Defined in: [sys/mod.ts:1737](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1737)
|
|
24630
24631
|
|
|
24631
24632
|
获取值对象,获取的是新创建的数组
|
|
24632
24633
|
|
|
@@ -24646,7 +24647,7 @@ Defined in: [sys/mod.ts:1730](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24646
24647
|
|
|
24647
24648
|
> **total**(`f?`): `Promise`\<`number`\>
|
|
24648
24649
|
|
|
24649
|
-
Defined in: [sys/mod.ts:
|
|
24650
|
+
Defined in: [sys/mod.ts:1490](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1490)
|
|
24650
24651
|
|
|
24651
24652
|
获取总条数,自动抛弃 LIMIT,仅用于获取数据的情况(select)
|
|
24652
24653
|
|
|
@@ -24666,7 +24667,7 @@ Defined in: [sys/mod.ts:1483](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24666
24667
|
|
|
24667
24668
|
> **union**(`f`, `type?`): `this`
|
|
24668
24669
|
|
|
24669
|
-
Defined in: [sys/mod.ts:
|
|
24670
|
+
Defined in: [sys/mod.ts:1071](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1071)
|
|
24670
24671
|
|
|
24671
24672
|
联合查询表数据
|
|
24672
24673
|
|
|
@@ -24694,7 +24695,7 @@ Defined in: [sys/mod.ts:1064](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24694
24695
|
|
|
24695
24696
|
> **unionAll**(`f`): `this`
|
|
24696
24697
|
|
|
24697
|
-
Defined in: [sys/mod.ts:
|
|
24698
|
+
Defined in: [sys/mod.ts:1101](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1101)
|
|
24698
24699
|
|
|
24699
24700
|
所有联合查询表数据
|
|
24700
24701
|
|
|
@@ -24716,7 +24717,7 @@ Defined in: [sys/mod.ts:1094](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24716
24717
|
|
|
24717
24718
|
> **unsaved**(): `boolean`
|
|
24718
24719
|
|
|
24719
|
-
Defined in: [sys/mod.ts:
|
|
24720
|
+
Defined in: [sys/mod.ts:1756](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1756)
|
|
24720
24721
|
|
|
24721
24722
|
当前是否设置了未保存 --=
|
|
24722
24723
|
|
|
@@ -24730,7 +24731,7 @@ Defined in: [sys/mod.ts:1749](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24730
24731
|
|
|
24731
24732
|
> **updates**(): `Record`\<`string`, `any`\>
|
|
24732
24733
|
|
|
24733
|
-
Defined in: [sys/mod.ts:
|
|
24734
|
+
Defined in: [sys/mod.ts:1745](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1745)
|
|
24734
24735
|
|
|
24735
24736
|
获取当前设置要提交的数据
|
|
24736
24737
|
|
|
@@ -24744,7 +24745,7 @@ Defined in: [sys/mod.ts:1738](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
24744
24745
|
|
|
24745
24746
|
> **upsert**(`conflict`): `Promise`\<`boolean`\>
|
|
24746
24747
|
|
|
24747
|
-
Defined in: [sys/mod.ts:
|
|
24748
|
+
Defined in: [sys/mod.ts:911](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L911)
|
|
24748
24749
|
|
|
24749
24750
|
插入数据,如果存在则更新(UPSERT)
|
|
24750
24751
|
|
|
@@ -24766,7 +24767,7 @@ Defined in: [sys/mod.ts:904](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
24766
24767
|
|
|
24767
24768
|
> **where**(`s`): `this`
|
|
24768
24769
|
|
|
24769
|
-
Defined in: [sys/mod.ts:
|
|
24770
|
+
Defined in: [sys/mod.ts:1639](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1639)
|
|
24770
24771
|
|
|
24771
24772
|
是 filter 的别名
|
|
24772
24773
|
|
|
@@ -24820,7 +24821,7 @@ Defined in: [sys/mod.ts:175](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
24820
24821
|
|
|
24821
24822
|
> `static` **find**\<`T`\>(`db`, `val`, `opt?`): `Promise`\<`false` \| `T` & `Record`\<`string`, `any`\> \| `null`\>
|
|
24822
24823
|
|
|
24823
|
-
Defined in: [sys/mod.ts:
|
|
24824
|
+
Defined in: [sys/mod.ts:597](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L597)
|
|
24824
24825
|
|
|
24825
24826
|
根据主键(或 key 字段)获取对象
|
|
24826
24827
|
|
|
@@ -24880,7 +24881,7 @@ Defined in: [sys/mod.ts:590](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
24880
24881
|
|
|
24881
24882
|
> `static` **getCreate**\<`T`\>(`db`, `opt?`): `T`
|
|
24882
24883
|
|
|
24883
|
-
Defined in: [sys/mod.ts:
|
|
24884
|
+
Defined in: [sys/mod.ts:579](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L579)
|
|
24884
24885
|
|
|
24885
24886
|
获取创建对象,通常用于新建数据库条目
|
|
24886
24887
|
|
|
@@ -25068,7 +25069,7 @@ Defined in: [sys/mod.ts:193](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
25068
25069
|
|
|
25069
25070
|
> `static` **one**(`db`, `s`, `opt`): `Promise`\<`false` \| `Record`\<`string`, `any`\> \| `null`\>
|
|
25070
25071
|
|
|
25071
|
-
Defined in: [sys/mod.ts:
|
|
25072
|
+
Defined in: [sys/mod.ts:624](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L624)
|
|
25072
25073
|
|
|
25073
25074
|
##### Parameters
|
|
25074
25075
|
|
|
@@ -25118,7 +25119,7 @@ Defined in: [sys/mod.ts:617](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
25118
25119
|
|
|
25119
25120
|
> `static` **one**\<`T`\>(`db`, `s`, `opt?`): `Promise`\<`false` \| `T` & `Record`\<`string`, `any`\> \| `null`\>
|
|
25120
25121
|
|
|
25121
|
-
Defined in: [sys/mod.ts:
|
|
25122
|
+
Defined in: [sys/mod.ts:637](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L637)
|
|
25122
25123
|
|
|
25123
25124
|
##### Type Parameters
|
|
25124
25125
|
|
|
@@ -25176,7 +25177,7 @@ Defined in: [sys/mod.ts:630](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
25176
25177
|
|
|
25177
25178
|
> `static` **oneArray**(`db`, `s`, `opt?`): `Promise`\<`false` \| `Record`\<`string`, `any`\> \| `null`\>
|
|
25178
25179
|
|
|
25179
|
-
Defined in: [sys/mod.ts:
|
|
25180
|
+
Defined in: [sys/mod.ts:714](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L714)
|
|
25180
25181
|
|
|
25181
25182
|
通过 where 条件筛选单条数据返回原生对象
|
|
25182
25183
|
|
|
@@ -25228,7 +25229,7 @@ Defined in: [sys/mod.ts:707](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
25228
25229
|
|
|
25229
25230
|
> `static` **primarys**(`db`, `where?`, `opt?`): `Promise`\<`false` \| `any`[]\>
|
|
25230
25231
|
|
|
25231
|
-
Defined in: [sys/mod.ts:
|
|
25232
|
+
Defined in: [sys/mod.ts:735](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L735)
|
|
25232
25233
|
|
|
25233
25234
|
根据 where 条件获取主键值列表
|
|
25234
25235
|
|
|
@@ -25376,7 +25377,7 @@ Defined in: [sys/mod.ts:334](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
25376
25377
|
|
|
25377
25378
|
> `static` **select**\<`T`\>(`db`, `c`, `opt?`): `T` & `Record`\<`string`, `any`\>
|
|
25378
25379
|
|
|
25379
|
-
Defined in: [sys/mod.ts:
|
|
25380
|
+
Defined in: [sys/mod.ts:520](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L520)
|
|
25380
25381
|
|
|
25381
25382
|
select 自定字段
|
|
25382
25383
|
|
|
@@ -25442,7 +25443,7 @@ select 自定字段
|
|
|
25442
25443
|
|
|
25443
25444
|
> `static` **toArrayByRecord**\<`T`\>(`obj`): `Record`\<`string`, `Record`\<`string`, `any`\>\>
|
|
25444
25445
|
|
|
25445
|
-
Defined in: [sys/mod.ts:
|
|
25446
|
+
Defined in: [sys/mod.ts:762](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L762)
|
|
25446
25447
|
|
|
25447
25448
|
将 key val 组成的数据列表转换为原生对象模式,获取的是新创建的数组
|
|
25448
25449
|
|
|
@@ -25586,7 +25587,7 @@ Defined in: [sys/mod.ts:413](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
25586
25587
|
|
|
25587
25588
|
> `static` **updateList**(`db`, `data`, `key`, `opt?`): `Promise`\<`boolean` \| `null`\>
|
|
25588
25589
|
|
|
25589
|
-
Defined in: [sys/mod.ts:
|
|
25590
|
+
Defined in: [sys/mod.ts:450](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L450)
|
|
25590
25591
|
|
|
25591
25592
|
批量更新数据
|
|
25592
25593
|
|
|
@@ -25609,12 +25610,17 @@ Defined in: [sys/mod.ts:449](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
25609
25610
|
|
|
25610
25611
|
`string`
|
|
25611
25612
|
|
|
25612
|
-
|
|
25613
|
+
用于定位待更新记录的字段名,通常为主键或唯一键,至少必须建立索引;
|
|
25614
|
+
该参数是字段名而不是索引名,仅参与 ON / WHERE 条件匹配,不会被更新;
|
|
25613
25615
|
data 中每个元素都必须包含此字段,否则该元素会被跳过
|
|
25614
25616
|
|
|
25615
25617
|
##### opt?
|
|
25616
25618
|
|
|
25617
|
-
选项(opt.pre: MySQL 表前缀/PostgreSQL Schema
|
|
25619
|
+
选项(opt.pre: MySQL 表前缀/PostgreSQL Schema 名;opt.batchSize: 每批更新条数)
|
|
25620
|
+
|
|
25621
|
+
###### batchSize?
|
|
25622
|
+
|
|
25623
|
+
`number`
|
|
25618
25624
|
|
|
25619
25625
|
###### ctr?
|
|
25620
25626
|
|
|
@@ -25670,7 +25676,7 @@ Defined in: [sys/mod.ts:184](https://github.com/maiyunnet/kebab/blob/master/sys/
|
|
|
25670
25676
|
|
|
25671
25677
|
> `static` **where**\<`T`\>(`db`, `s?`, `opt?`): `T` & `Record`\<`string`, `any`\>
|
|
25672
25678
|
|
|
25673
|
-
Defined in: [sys/mod.ts:
|
|
25679
|
+
Defined in: [sys/mod.ts:550](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L550)
|
|
25674
25680
|
|
|
25675
25681
|
通过 where 条件获取模型
|
|
25676
25682
|
|
|
@@ -25935,7 +25941,7 @@ sys/mod/interfaces/IModUnionItem.md
|
|
|
25935
25941
|
|
|
25936
25942
|
# Interface: IModUnionItem
|
|
25937
25943
|
|
|
25938
|
-
Defined in: [sys/mod.ts:
|
|
25944
|
+
Defined in: [sys/mod.ts:1799](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1799)
|
|
25939
25945
|
|
|
25940
25946
|
## Properties
|
|
25941
25947
|
|
|
@@ -25943,7 +25949,7 @@ Defined in: [sys/mod.ts:1792](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
25943
25949
|
|
|
25944
25950
|
> **field**: `string`
|
|
25945
25951
|
|
|
25946
|
-
Defined in: [sys/mod.ts:
|
|
25952
|
+
Defined in: [sys/mod.ts:1800](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1800)
|
|
25947
25953
|
|
|
25948
25954
|
***
|
|
25949
25955
|
|
|
@@ -25951,7 +25957,7 @@ Defined in: [sys/mod.ts:1793](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
25951
25957
|
|
|
25952
25958
|
> `optional` **where?**: `any`
|
|
25953
25959
|
|
|
25954
|
-
Defined in: [sys/mod.ts:
|
|
25960
|
+
Defined in: [sys/mod.ts:1801](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1801)
|
|
25955
25961
|
|
|
25956
25962
|
sys/mod/interfaces/IRows.md
|
|
25957
25963
|
---
|
|
@@ -25964,7 +25970,7 @@ sys/mod/interfaces/IRows.md
|
|
|
25964
25970
|
|
|
25965
25971
|
# Interface: IRows\<T\>
|
|
25966
25972
|
|
|
25967
|
-
Defined in: [sys/mod.ts:
|
|
25973
|
+
Defined in: [sys/mod.ts:1793](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1793)
|
|
25968
25974
|
|
|
25969
25975
|
## Extends
|
|
25970
25976
|
|
|
@@ -25982,7 +25988,7 @@ Defined in: [sys/mod.ts:1786](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
25982
25988
|
|
|
25983
25989
|
> `readonly` **length**: `number`
|
|
25984
25990
|
|
|
25985
|
-
Defined in: [sys/mod.ts:
|
|
25991
|
+
Defined in: [sys/mod.ts:1794](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1794)
|
|
25986
25992
|
|
|
25987
25993
|
## Methods
|
|
25988
25994
|
|
|
@@ -25990,7 +25996,7 @@ Defined in: [sys/mod.ts:1787](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
25990
25996
|
|
|
25991
25997
|
> **item**(`index`): `T`
|
|
25992
25998
|
|
|
25993
|
-
Defined in: [sys/mod.ts:
|
|
25999
|
+
Defined in: [sys/mod.ts:1795](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1795)
|
|
25994
26000
|
|
|
25995
26001
|
#### Parameters
|
|
25996
26002
|
|
|
@@ -26008,7 +26014,7 @@ Defined in: [sys/mod.ts:1788](https://github.com/maiyunnet/kebab/blob/master/sys
|
|
|
26008
26014
|
|
|
26009
26015
|
> **toArray**(): `Record`\<`string`, `any`\>[]
|
|
26010
26016
|
|
|
26011
|
-
Defined in: [sys/mod.ts:
|
|
26017
|
+
Defined in: [sys/mod.ts:1796](https://github.com/maiyunnet/kebab/blob/master/sys/mod.ts#L1796)
|
|
26012
26018
|
|
|
26013
26019
|
#### Returns
|
|
26014
26020
|
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* --- 本文件用来定义每个目录实体地址的常量 ---
|
|
7
7
|
*/
|
|
8
8
|
/** --- 当前系统版本号 --- */
|
|
9
|
-
export const VER = '9.7.
|
|
9
|
+
export const VER = '9.7.3';
|
|
10
10
|
// --- 服务端用的路径 ---
|
|
11
11
|
const imu = decodeURIComponent(import.meta.url).replace('file://', '').replace(/^\/(\w:)/, '$1');
|
|
12
12
|
/** --- /xxx/xxx --- */
|
package/lib/sql.d.ts
CHANGED
|
@@ -74,7 +74,8 @@ export declare class Sql {
|
|
|
74
74
|
* --- MySQL: UPDATE t INNER JOIN (SELECT col AS alias ... UNION ALL SELECT ...) AS tmp ON t.key=tmp.key SET t.c=tmp.c ---
|
|
75
75
|
* --- PostgreSQL: UPDATE t SET c=tmp.c FROM (VALUES ($1,...)) AS tmp(cols) WHERE t.key=tmp.key ---
|
|
76
76
|
* @param table 表名
|
|
77
|
-
* @param key
|
|
77
|
+
* @param key 用于定位待更新记录的字段名,通常为主键或唯一键,至少必须建立索引;
|
|
78
|
+
* 该参数是字段名而不是索引名,仅参与 ON / WHERE 匹配,不会被更新
|
|
78
79
|
* @param cols 要更新的列名数组(不含 key)
|
|
79
80
|
* @param rows 数据行数组,每行顺序为 [keyVal, col1Val, col2Val, ...](与 [key, ...cols] 对应)
|
|
80
81
|
*/
|
package/lib/sql.js
CHANGED
|
@@ -171,7 +171,8 @@ export class Sql {
|
|
|
171
171
|
* --- MySQL: UPDATE t INNER JOIN (SELECT col AS alias ... UNION ALL SELECT ...) AS tmp ON t.key=tmp.key SET t.c=tmp.c ---
|
|
172
172
|
* --- PostgreSQL: UPDATE t SET c=tmp.c FROM (VALUES ($1,...)) AS tmp(cols) WHERE t.key=tmp.key ---
|
|
173
173
|
* @param table 表名
|
|
174
|
-
* @param key
|
|
174
|
+
* @param key 用于定位待更新记录的字段名,通常为主键或唯一键,至少必须建立索引;
|
|
175
|
+
* 该参数是字段名而不是索引名,仅参与 ON / WHERE 匹配,不会被更新
|
|
175
176
|
* @param cols 要更新的列名数组(不含 key)
|
|
176
177
|
* @param rows 数据行数组,每行顺序为 [keyVal, col1Val, col2Val, ...](与 [key, ...cols] 对应)
|
|
177
178
|
*/
|
|
@@ -182,24 +183,25 @@ export class Sql {
|
|
|
182
183
|
const quotedTable = this.field(table, this._pre);
|
|
183
184
|
const quotedKey = this.field(key);
|
|
184
185
|
if (this._service === ESERVICE.MYSQL) {
|
|
185
|
-
// --- MySQL
|
|
186
|
-
// ---
|
|
187
|
-
//
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
186
|
+
// --- MySQL 8.0.19+ VALUES ROW() 派生表语法 ---
|
|
187
|
+
// --- 必须把 tmp 放在 UPDATE 的 table_references 最前面,并使用 STRAIGHT_JOIN:
|
|
188
|
+
// 1. tmp 是小数据集,作为驱动表逐行查找目标表
|
|
189
|
+
// 2. STRAIGHT_JOIN 强制目标表按 key 条件被查找,避免优化器反向全表扫描
|
|
190
|
+
// 3. 相比 CASE WHEN,key 只出现一次,SQL 和参数量都更小 ---
|
|
191
|
+
const valueParts = [];
|
|
192
|
+
for (const row of rows) {
|
|
193
|
+
const parts = row.map(v => {
|
|
192
194
|
const result = this._processValue(v);
|
|
193
195
|
if (result.data.length > 0) {
|
|
194
196
|
this._data.push(...result.data);
|
|
195
197
|
}
|
|
196
|
-
|
|
197
|
-
return ri === 0 ? `${result.sql} AS ${this.field(allCols[ci])}` : result.sql;
|
|
198
|
+
return result.sql;
|
|
198
199
|
});
|
|
199
|
-
|
|
200
|
+
valueParts.push(`ROW(${parts.join(', ')})`);
|
|
200
201
|
}
|
|
202
|
+
const tmpCols = allCols.map(c => this.field(c)).join(', ');
|
|
201
203
|
const setClauses = cols.map(c => `t.${this.field(c)} = tmp.${this.field(c)}`).join(', ');
|
|
202
|
-
this._sql = [`UPDATE
|
|
204
|
+
this._sql = [`UPDATE (VALUES ${valueParts.join(', ')}) AS tmp(${tmpCols}) STRAIGHT_JOIN ${quotedTable} t ON t.${quotedKey} = tmp.${quotedKey} SET ${setClauses}`];
|
|
203
205
|
}
|
|
204
206
|
else {
|
|
205
207
|
// --- PostgreSQL 使用 UPDATE FROM (VALUES ...) ---
|
package/package.json
CHANGED
package/sys/child.js
CHANGED
|
@@ -558,10 +558,10 @@ process.on('message', function (msg) {
|
|
|
558
558
|
case 'stop': {
|
|
559
559
|
// --- 需要停止监听,等待已有连接全部断开,然后关闭线程 ---
|
|
560
560
|
stopping = true;
|
|
561
|
-
httpServer
|
|
562
|
-
http2Server
|
|
561
|
+
httpServer?.close();
|
|
562
|
+
http2Server?.close();
|
|
563
563
|
// --- 立即关闭空闲保活连接(无活跃请求的 keep-alive socket),避免进程长时间等待 ---
|
|
564
|
-
httpServer
|
|
564
|
+
httpServer?.closeIdleConnections();
|
|
565
565
|
clearInterval(hbTimer);
|
|
566
566
|
sMonitor.stop();
|
|
567
567
|
// --- 等待活跃请求全部完成 ---
|
|
@@ -581,7 +581,7 @@ process.on('message', function (msg) {
|
|
|
581
581
|
await lCore.sleep(5_000);
|
|
582
582
|
waiting += 5_000;
|
|
583
583
|
// --- 再次清理已变为空闲的保活连接 ---
|
|
584
|
-
httpServer
|
|
584
|
+
httpServer?.closeIdleConnections();
|
|
585
585
|
if (waiting > 3600_000) {
|
|
586
586
|
break;
|
|
587
587
|
}
|
package/sys/mod.d.ts
CHANGED
|
@@ -182,14 +182,16 @@ export default class Mod {
|
|
|
182
182
|
* @param db 数据库对象
|
|
183
183
|
* @param data 数据列表,每个元素必须包含 key 字段,其余字段为要更新的列;
|
|
184
184
|
* 支持稀疏数据(不同元素可以拥有不同的列集合),内部会自动按列集合分组批量执行
|
|
185
|
-
* @param key
|
|
185
|
+
* @param key 用于定位待更新记录的字段名,通常为主键或唯一键,至少必须建立索引;
|
|
186
|
+
* 该参数是字段名而不是索引名,仅参与 ON / WHERE 条件匹配,不会被更新;
|
|
186
187
|
* data 中每个元素都必须包含此字段,否则该元素会被跳过
|
|
187
|
-
* @param opt 选项(opt.pre: MySQL 表前缀/PostgreSQL Schema
|
|
188
|
+
* @param opt 选项(opt.pre: MySQL 表前缀/PostgreSQL Schema 名;opt.batchSize: 每批更新条数)
|
|
188
189
|
*/
|
|
189
190
|
static updateList(db: lDb.Pool | lDb.Transaction, data: Array<Record<string, any>>, key: string, opt?: {
|
|
190
191
|
'ctr'?: sCtr.Ctr;
|
|
191
192
|
'pre'?: string;
|
|
192
193
|
'index'?: string;
|
|
194
|
+
'batchSize'?: number;
|
|
193
195
|
}): Promise<boolean | null>;
|
|
194
196
|
/**
|
|
195
197
|
* --- select 自定字段 ---
|
package/sys/mod.js
CHANGED
|
@@ -307,9 +307,10 @@ export default class Mod {
|
|
|
307
307
|
* @param db 数据库对象
|
|
308
308
|
* @param data 数据列表,每个元素必须包含 key 字段,其余字段为要更新的列;
|
|
309
309
|
* 支持稀疏数据(不同元素可以拥有不同的列集合),内部会自动按列集合分组批量执行
|
|
310
|
-
* @param key
|
|
310
|
+
* @param key 用于定位待更新记录的字段名,通常为主键或唯一键,至少必须建立索引;
|
|
311
|
+
* 该参数是字段名而不是索引名,仅参与 ON / WHERE 条件匹配,不会被更新;
|
|
311
312
|
* data 中每个元素都必须包含此字段,否则该元素会被跳过
|
|
312
|
-
* @param opt 选项(opt.pre: MySQL 表前缀/PostgreSQL Schema
|
|
313
|
+
* @param opt 选项(opt.pre: MySQL 表前缀/PostgreSQL Schema 名;opt.batchSize: 每批更新条数)
|
|
313
314
|
*/
|
|
314
315
|
static async updateList(db, data, key, opt = {}) {
|
|
315
316
|
if (!data.length) {
|
|
@@ -335,12 +336,17 @@ export default class Mod {
|
|
|
335
336
|
for (const [, groupItems] of groups) {
|
|
336
337
|
const cols = Object.keys(groupItems[0]).filter(k => k !== key).sort();
|
|
337
338
|
const allCols = [key, ...cols];
|
|
338
|
-
|
|
339
|
-
|
|
339
|
+
const service = db.getService() ?? lDb.ESERVICE.PGSQL;
|
|
340
|
+
/** --- 每行占位符数量 = key + 所有列,分批避免超出数据库参数上限 --- */
|
|
341
|
+
const maxBatchSize = Math.floor(65000 / allCols.length);
|
|
342
|
+
// --- MySQL 单条 UPDATE 太大时解析、物化、锁持有都会变慢,默认小批量多次执行更稳定;
|
|
343
|
+
// PostgreSQL 的 VALUES UPDATE 执行计划较稳定,默认尽量吃满参数上限减少网络往返 ---
|
|
344
|
+
const defaultBatchSize = service === lDb.ESERVICE.MYSQL ? 200 : maxBatchSize;
|
|
345
|
+
const batchSize = Math.max(1, Math.min(opt.batchSize ?? defaultBatchSize, maxBatchSize));
|
|
340
346
|
for (let i = 0; i < groupItems.length; i += batchSize) {
|
|
341
347
|
const batch = groupItems.slice(i, i + batchSize);
|
|
342
348
|
const sq = lSql.get({
|
|
343
|
-
'service':
|
|
349
|
+
'service': service,
|
|
344
350
|
'ctr': opt.ctr,
|
|
345
351
|
'pre': opt.pre ?? this._$pre,
|
|
346
352
|
});
|