@pdg/drizzle-mysql 1.0.2 → 1.0.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/README.md +27 -3
- package/dist/@types/MySqlInsertValues.d.cts +6 -5
- package/dist/@types/MySqlInsertValues.d.ts +6 -5
- package/dist/@types/MySqlUpdateValues.d.cts +4 -4
- package/dist/@types/MySqlUpdateValues.d.ts +4 -4
- package/dist/MySqlQuery.d.cts +16 -5
- package/dist/MySqlQuery.d.ts +16 -5
- package/dist/columns.d.cts +4 -3
- package/dist/columns.d.ts +4 -3
- package/dist/conditions.d.cts +29 -29
- package/dist/conditions.d.ts +29 -29
- package/dist/drizzleMySql.d.cts +46 -44
- package/dist/drizzleMySql.d.ts +46 -44
- package/dist/index.cjs +27 -13
- package/dist/index.esm.js +27 -13
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -38,14 +38,27 @@ const posts = mysqlTable('posts', {
|
|
|
38
38
|
const db = drizzleMySql({
|
|
39
39
|
url: process.env.DATABASE_URL!,
|
|
40
40
|
schema: { users, posts },
|
|
41
|
+
getTimestamp: () => new Date().toISOString(),
|
|
41
42
|
});
|
|
42
43
|
const user = db.query(users);
|
|
43
44
|
```
|
|
44
45
|
|
|
45
|
-
`drizzleMySql` 옵션은 `url`, `schema`,
|
|
46
|
+
`drizzleMySql` 옵션은 모두 필수인 `url`, `schema`, `getTimestamp`입니다. `db.query(table)`은 해당 테이블에 맞춰 타입이 지정된 쿼리 객체를 반환합니다. `new MySqlQuery(table, db.current, getTimestamp?)`의 세 번째 인자는 선택 사항이며, 생략하면 해당 `drizzleMySql`에 설정한 생성 함수를 사용합니다. 명시하면 그 쿼리 객체에서만 해당 함수를 우선 사용합니다. 연결을 다 사용한 뒤 `await db.close()`로 커넥션 풀을 닫습니다.
|
|
46
47
|
|
|
47
48
|
### 데이터 추가·수정·삭제
|
|
48
49
|
|
|
50
|
+
입력값을 변수로 준비할 때는 `insertValues` / `updateValues` 헬퍼를 사용하면 스키마 제네릭을 반복해서 지정하지 않아도 됩니다. 해당 쿼리의 입력 타입과 컬럼 정책으로 검사하며, 전달한 객체 또는 배열을 그대로 반환합니다. 헬퍼 자체는 DB 쿼리, 런타임 정책 검사, 기본 시각 생성을 실행하지 않습니다. 런타임 처리는 `add` / `edit`에서 수행합니다.
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
const insertValues = user.insertValues({ name: '홍길동' });
|
|
54
|
+
const id = await user.add(insertValues);
|
|
55
|
+
const updateValues = user.updateValues({ name: '김민수' });
|
|
56
|
+
await user.editByPrimaryKey(updateValues, id);
|
|
57
|
+
|
|
58
|
+
const rows = user.insertValues([{ name: '사용자1' }, { name: '사용자2' }]);
|
|
59
|
+
await user.add(rows);
|
|
60
|
+
```
|
|
61
|
+
|
|
49
62
|
자동 증가 기본 키가 있는 테이블에서 `add`는 생성된 키를 반환합니다. 여러 행을 넣으면 키 배열을 반환합니다.
|
|
50
63
|
|
|
51
64
|
```ts
|
|
@@ -102,6 +115,8 @@ const projected = await user.find(
|
|
|
102
115
|
);
|
|
103
116
|
```
|
|
104
117
|
|
|
118
|
+
문자열 컬럼 선택의 별칭 키워드는 대소문자를 구분하지 않습니다. `name as displayName`, `name AS displayName`, `name As displayName`, `name aS displayName`을 모두 사용할 수 있으며, 결과 키의 대소문자는 지정한 별칭 그대로 유지됩니다. `select`, `find`, `columns`에서 동일하게 적용됩니다.
|
|
119
|
+
|
|
105
120
|
테이블의 TypeScript 속성명과 SQL 컬럼명을 다르게 지정하면 기본 전체 조회 결과 키와 추론된 타입이 달라질 수 있습니다. 기본 컬럼 선택을 사용할 경우 스키마 속성명과 SQL 컬럼명을 같게 작성하는 것을 권장합니다. 이름이 다르면 필요한 컬럼을 명시적으로 선택하고 별칭을 지정하세요.
|
|
106
121
|
|
|
107
122
|
### 조건식
|
|
@@ -322,6 +337,8 @@ await db.trans(async () => {
|
|
|
322
337
|
|
|
323
338
|
컬럼 정책은 이 패키지에서 가져온 `mysqlTable`에 선언합니다. 자동 증가 컬럼은 기본적으로 등록과 수정이 금지되며, 각각 `insertAllowed()`와 `updateAllowed()`로 허용할 수 있습니다. `primaryKey()`로 지정한 컬럼도 기본적으로 수정이 금지되며, `updateAllowed()`를 명시해야 수정할 수 있습니다. 다른 컬럼은 `insertBlocked()`와 `updateBlocked()`로 금지하거나 `updateRequired()`로 수정 시 필수로 지정합니다. 금지된 값을 전달하거나 필수 수정 값을 누락하면 런타임에도 오류가 발생합니다.
|
|
324
339
|
|
|
340
|
+
금지 컬럼은 `MySqlInsertValues` / `MySqlUpdateValues`의 키에서 제외됩니다. 따라서 타입이 지정된 객체 리터럴에는 `undefined`로도 지정할 수 없습니다. TypeScript의 구조적 타입 검사로 인해 추가 속성이 있는 기존 변수를 전달하는 경우에는 컴파일을 통과할 수 있지만, 런타임에서는 금지 컬럼 키가 있으면 값이 `undefined`여도 오류가 발생합니다.
|
|
341
|
+
|
|
325
342
|
```ts
|
|
326
343
|
import { drizzleMySql, mysqlTable, int, varchar, datetime } from '@pdg/drizzle-mysql';
|
|
327
344
|
|
|
@@ -332,13 +349,20 @@ const users = mysqlTable('users', {
|
|
|
332
349
|
created_at: datetime({ mode: 'string' }).notNull().createdAt(),
|
|
333
350
|
updated_at: datetime({ mode: 'string' }).notNull().updatedAt(),
|
|
334
351
|
});
|
|
335
|
-
const db = drizzleMySql({ url: process.env.DATABASE_URL!, schema: { users },
|
|
352
|
+
const db = drizzleMySql({ url: process.env.DATABASE_URL!, schema: { users }, getTimestamp: () => new Date().toISOString() });
|
|
336
353
|
const usersQuery = db.query(users);
|
|
337
354
|
const id = await usersQuery.add({ name: '사용자' });
|
|
338
355
|
await usersQuery.editByPrimaryKey({ name: '수정' }, id);
|
|
339
356
|
```
|
|
340
357
|
|
|
341
|
-
`createdAt()
|
|
358
|
+
`createdAt()`과 `updatedAt()` 컬럼은 `add` 시 직접 값을 지정할 수 있습니다. 생략하거나 `undefined`를 전달한 컬럼만 `getTimestamp` 생성 함수의 기본값으로 채우며, 한 행에서 생성한 값은 누락된 시각 컬럼들이 공유합니다. `edit` 시에는 `createdAt()`의 직접 입력을 금지하고 기존 값을 유지합니다. `updatedAt()`은 직접 지정한 값을 사용하며, 생략하거나 `undefined`이면 기본 시각으로 갱신합니다. 명시적인 `updateBlocked()` 정책은 계속 적용되며, `updatedAt().updateRequired()`는 생략 시 기본 시각을 사용합니다. 직접 지정하는 값과 생성 함수의 반환값은 컬럼의 데이터 형식에 맞아야 합니다. `MySqlQuery`에 `db.current`가 아닌 연결 함수를 직접 전달하는 경우에는 기본 시각이 필요한 작업을 위해 세 번째 인자로 시각 생성 함수도 지정해야 하며, 생성 함수 없이 기본 시각이 필요한 작업을 실행하면 오류가 발생합니다. 정책은 `MySqlQuery`에만 적용되며 `db.current()`의 원본 Drizzle 쿼리에는 적용되지 않습니다. `mysqlTableCreator`, `mysqlSchema` 또는 Drizzle에서 직접 가져온 `mysqlTable`은 컬럼 정책을 수집하지 않으므로 정책이 필요한 테이블에는 이 패키지의 `mysqlTable`을 사용합니다.
|
|
359
|
+
|
|
360
|
+
```ts
|
|
361
|
+
await usersQuery.add({ name: '사용자', created_at: '2026-01-01 00:00:00' });
|
|
362
|
+
// created_at은 지정한 값을 유지하고 updated_at은 getTimestamp의 값을 사용합니다.
|
|
363
|
+
await usersQuery.editByPrimaryKey({ updated_at: '2026-01-02 00:00:00' }, id);
|
|
364
|
+
// updated_at은 지정한 값을 사용합니다.
|
|
365
|
+
```
|
|
342
366
|
|
|
343
367
|
### 집계·SQL 표현식
|
|
344
368
|
|
|
@@ -3,14 +3,15 @@ import type { MySqlInsertValue as InsertValue } from 'drizzle-orm/mysql-core/que
|
|
|
3
3
|
import type { TablePolicies } from '../mysqlTable.cjs';
|
|
4
4
|
type Blocked<T extends MySqlTable> = {
|
|
5
5
|
[K in keyof InsertValue<T>]: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
|
|
6
|
-
timestamp: string;
|
|
7
|
-
} | {
|
|
8
6
|
insert: 'blocked';
|
|
9
7
|
} ? K : TablePolicies<T>[K] extends {
|
|
10
8
|
insert: 'allowed';
|
|
11
9
|
} ? never : K extends keyof T['_']['columns'] ? T['_']['columns'][K]['_']['isAutoincrement'] extends true ? K : never : never : K extends keyof T['_']['columns'] ? T['_']['columns'][K]['_']['isAutoincrement'] extends true ? K : never : never;
|
|
12
10
|
}[keyof InsertValue<T>];
|
|
13
|
-
|
|
14
|
-
[K in
|
|
15
|
-
|
|
11
|
+
type TimestampKeys<T extends MySqlTable> = {
|
|
12
|
+
[K in keyof InsertValue<T>]-?: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
|
|
13
|
+
timestamp: string;
|
|
14
|
+
} ? K : never : never;
|
|
15
|
+
}[keyof InsertValue<T>] & keyof InsertValue<T>;
|
|
16
|
+
export type MySqlInsertValues<T extends MySqlTable, B extends keyof InsertValue<T> = never> = Omit<InsertValue<T>, B | Blocked<T> | TimestampKeys<T>> & Partial<Pick<InsertValue<T>, Exclude<TimestampKeys<T>, B | Blocked<T>>>>;
|
|
16
17
|
export {};
|
|
@@ -3,14 +3,15 @@ import type { MySqlInsertValue as InsertValue } from 'drizzle-orm/mysql-core/que
|
|
|
3
3
|
import type { TablePolicies } from '../mysqlTable.js';
|
|
4
4
|
type Blocked<T extends MySqlTable> = {
|
|
5
5
|
[K in keyof InsertValue<T>]: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
|
|
6
|
-
timestamp: string;
|
|
7
|
-
} | {
|
|
8
6
|
insert: 'blocked';
|
|
9
7
|
} ? K : TablePolicies<T>[K] extends {
|
|
10
8
|
insert: 'allowed';
|
|
11
9
|
} ? never : K extends keyof T['_']['columns'] ? T['_']['columns'][K]['_']['isAutoincrement'] extends true ? K : never : never : K extends keyof T['_']['columns'] ? T['_']['columns'][K]['_']['isAutoincrement'] extends true ? K : never : never;
|
|
12
10
|
}[keyof InsertValue<T>];
|
|
13
|
-
|
|
14
|
-
[K in
|
|
15
|
-
|
|
11
|
+
type TimestampKeys<T extends MySqlTable> = {
|
|
12
|
+
[K in keyof InsertValue<T>]-?: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
|
|
13
|
+
timestamp: string;
|
|
14
|
+
} ? K : never : never;
|
|
15
|
+
}[keyof InsertValue<T>] & keyof InsertValue<T>;
|
|
16
|
+
export type MySqlInsertValues<T extends MySqlTable, B extends keyof InsertValue<T> = never> = Omit<InsertValue<T>, B | Blocked<T> | TimestampKeys<T>> & Partial<Pick<InsertValue<T>, Exclude<TimestampKeys<T>, B | Blocked<T>>>>;
|
|
16
17
|
export {};
|
|
@@ -4,7 +4,7 @@ import type { TablePolicies } from '../mysqlTable.cjs';
|
|
|
4
4
|
type DefaultBlocked<T extends MySqlTable, K> = K extends keyof T['_']['columns'] ? T['_']['columns'][K]['_']['isPrimaryKey'] extends true ? K : T['_']['columns'][K]['_']['isAutoincrement'] extends true ? K : never : never;
|
|
5
5
|
type Blocked<T extends MySqlTable> = {
|
|
6
6
|
[K in keyof MySqlUpdateSetSource<T>]-?: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
|
|
7
|
-
timestamp:
|
|
7
|
+
timestamp: 'created';
|
|
8
8
|
} | {
|
|
9
9
|
update: 'blocked';
|
|
10
10
|
} ? K : TablePolicies<T>[K] extends {
|
|
@@ -16,11 +16,11 @@ type Blocked<T extends MySqlTable> = {
|
|
|
16
16
|
type RequiredKeys<T extends MySqlTable> = {
|
|
17
17
|
[K in keyof MySqlUpdateSetSource<T>]-?: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
|
|
18
18
|
update: 'required';
|
|
19
|
-
} ? K
|
|
19
|
+
} ? TablePolicies<T>[K] extends {
|
|
20
|
+
timestamp: 'updated';
|
|
21
|
+
} ? never : K : never : never;
|
|
20
22
|
}[keyof MySqlUpdateSetSource<T>] & keyof MySqlUpdateSetSource<T>;
|
|
21
23
|
export type MySqlUpdateValues<T extends MySqlTable, B extends keyof MySqlUpdateSetSource<T> = never, R extends Exclude<keyof MySqlUpdateSetSource<T>, B | Blocked<T>> = never> = Omit<MySqlUpdateSetSource<T>, B | Blocked<T> | R | RequiredKeys<T>> & {
|
|
22
|
-
[K in B | Blocked<T>]?: never;
|
|
23
|
-
} & {
|
|
24
24
|
[K in Exclude<R | RequiredKeys<T>, B | Blocked<T>>]-?: Exclude<MySqlUpdateSetSource<T>[K], undefined>;
|
|
25
25
|
};
|
|
26
26
|
export {};
|
|
@@ -4,7 +4,7 @@ import type { TablePolicies } from '../mysqlTable.js';
|
|
|
4
4
|
type DefaultBlocked<T extends MySqlTable, K> = K extends keyof T['_']['columns'] ? T['_']['columns'][K]['_']['isPrimaryKey'] extends true ? K : T['_']['columns'][K]['_']['isAutoincrement'] extends true ? K : never : never;
|
|
5
5
|
type Blocked<T extends MySqlTable> = {
|
|
6
6
|
[K in keyof MySqlUpdateSetSource<T>]-?: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
|
|
7
|
-
timestamp:
|
|
7
|
+
timestamp: 'created';
|
|
8
8
|
} | {
|
|
9
9
|
update: 'blocked';
|
|
10
10
|
} ? K : TablePolicies<T>[K] extends {
|
|
@@ -16,11 +16,11 @@ type Blocked<T extends MySqlTable> = {
|
|
|
16
16
|
type RequiredKeys<T extends MySqlTable> = {
|
|
17
17
|
[K in keyof MySqlUpdateSetSource<T>]-?: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
|
|
18
18
|
update: 'required';
|
|
19
|
-
} ? K
|
|
19
|
+
} ? TablePolicies<T>[K] extends {
|
|
20
|
+
timestamp: 'updated';
|
|
21
|
+
} ? never : K : never : never;
|
|
20
22
|
}[keyof MySqlUpdateSetSource<T>] & keyof MySqlUpdateSetSource<T>;
|
|
21
23
|
export type MySqlUpdateValues<T extends MySqlTable, B extends keyof MySqlUpdateSetSource<T> = never, R extends Exclude<keyof MySqlUpdateSetSource<T>, B | Blocked<T>> = never> = Omit<MySqlUpdateSetSource<T>, B | Blocked<T> | R | RequiredKeys<T>> & {
|
|
22
|
-
[K in B | Blocked<T>]?: never;
|
|
23
|
-
} & {
|
|
24
24
|
[K in Exclude<R | RequiredKeys<T>, B | Blocked<T>>]-?: Exclude<MySqlUpdateSetSource<T>[K], undefined>;
|
|
25
25
|
};
|
|
26
26
|
export {};
|
package/dist/MySqlQuery.d.cts
CHANGED
|
@@ -3,19 +3,21 @@ import { MySqlTable, MySqlColumn, type MySqlAsyncSelectBase } from 'drizzle-orm/
|
|
|
3
3
|
import type { SelectedFields } from 'drizzle-orm/operations';
|
|
4
4
|
import type { GetSelectTableName } from 'drizzle-orm/query-builders/select.types';
|
|
5
5
|
import type { MySqlColumnSelectionName, MySqlSelectedNamedColumnUnion, MySqlSelectedNamedColumns, MySqlSelectedTableColumns, MySqlAliasTable } from './columns.cjs';
|
|
6
|
-
import type { MySqlInsertValues, MySqlUpdateValues, MySqlCompareValues, MySqlColumnName, MySqlArrayCompareValues, MySqlRangeCompareValues, MySqlPatternCompareValues, MySqlNullConditionInput, MySqlConditions } from './@types.cjs';
|
|
6
|
+
import type { MySqlInsertValues, MySqlUpdateValues, MySqlCompareValues, MySqlColumnName, MySqlArrayCompareValues, MySqlRangeCompareValues, MySqlPatternCompareValues, MySqlNullConditionInput, MySqlConditions } from './@types/index.cjs';
|
|
7
7
|
import type { MySql2Database } from 'drizzle-orm/mysql2';
|
|
8
8
|
/********************************************************************************************************************
|
|
9
9
|
* MySqlQuery
|
|
10
10
|
* ******************************************************************************************************************/
|
|
11
11
|
export declare class MySqlQuery<TTable extends MySqlTable, IV extends MySqlInsertValues<TTable> = MySqlInsertValues<TTable>, UV extends MySqlUpdateValues<TTable> = MySqlUpdateValues<TTable>, AR = AddResult<TTable>> {
|
|
12
12
|
private readonly current;
|
|
13
|
-
private readonly getTimestamp
|
|
13
|
+
private readonly getTimestamp?;
|
|
14
14
|
readonly t: TTable;
|
|
15
15
|
/********************************************************************************************************************
|
|
16
16
|
* constructor
|
|
17
17
|
* ******************************************************************************************************************/
|
|
18
|
-
constructor(table: TTable, current: () => MySql2Database
|
|
18
|
+
constructor(table: TTable, current: (() => MySql2Database) & {
|
|
19
|
+
getTimestamp?: () => unknown;
|
|
20
|
+
}, getTimestamp?: (() => unknown) | undefined);
|
|
19
21
|
private readonly drizzle;
|
|
20
22
|
/********************************************************************************************************************
|
|
21
23
|
* (PROTECTED) getTx
|
|
@@ -92,9 +94,18 @@ export declare class MySqlQuery<TTable extends MySqlTable, IV extends MySqlInser
|
|
|
92
94
|
count(where?: BaseWhere<this>): Promise<number>;
|
|
93
95
|
private prepareValues;
|
|
94
96
|
/********************************************************************************************************************
|
|
95
|
-
* (PRIVATE)
|
|
97
|
+
* (PRIVATE) executeInsert
|
|
96
98
|
* ******************************************************************************************************************/
|
|
97
|
-
private
|
|
99
|
+
private executeInsert;
|
|
100
|
+
/********************************************************************************************************************
|
|
101
|
+
* insertValues
|
|
102
|
+
* ******************************************************************************************************************/
|
|
103
|
+
insertValues(values: IV[]): IV[];
|
|
104
|
+
insertValues(values: IV): IV;
|
|
105
|
+
/********************************************************************************************************************
|
|
106
|
+
* updateValues
|
|
107
|
+
* ******************************************************************************************************************/
|
|
108
|
+
updateValues(values: UV): UV;
|
|
98
109
|
/********************************************************************************************************************
|
|
99
110
|
* add
|
|
100
111
|
* ******************************************************************************************************************/
|
package/dist/MySqlQuery.d.ts
CHANGED
|
@@ -3,19 +3,21 @@ import { MySqlTable, MySqlColumn, type MySqlAsyncSelectBase } from 'drizzle-orm/
|
|
|
3
3
|
import type { SelectedFields } from 'drizzle-orm/operations';
|
|
4
4
|
import type { GetSelectTableName } from 'drizzle-orm/query-builders/select.types';
|
|
5
5
|
import type { MySqlColumnSelectionName, MySqlSelectedNamedColumnUnion, MySqlSelectedNamedColumns, MySqlSelectedTableColumns, MySqlAliasTable } from './columns.js';
|
|
6
|
-
import type { MySqlInsertValues, MySqlUpdateValues, MySqlCompareValues, MySqlColumnName, MySqlArrayCompareValues, MySqlRangeCompareValues, MySqlPatternCompareValues, MySqlNullConditionInput, MySqlConditions } from './@types.js';
|
|
6
|
+
import type { MySqlInsertValues, MySqlUpdateValues, MySqlCompareValues, MySqlColumnName, MySqlArrayCompareValues, MySqlRangeCompareValues, MySqlPatternCompareValues, MySqlNullConditionInput, MySqlConditions } from './@types/index.js';
|
|
7
7
|
import type { MySql2Database } from 'drizzle-orm/mysql2';
|
|
8
8
|
/********************************************************************************************************************
|
|
9
9
|
* MySqlQuery
|
|
10
10
|
* ******************************************************************************************************************/
|
|
11
11
|
export declare class MySqlQuery<TTable extends MySqlTable, IV extends MySqlInsertValues<TTable> = MySqlInsertValues<TTable>, UV extends MySqlUpdateValues<TTable> = MySqlUpdateValues<TTable>, AR = AddResult<TTable>> {
|
|
12
12
|
private readonly current;
|
|
13
|
-
private readonly getTimestamp
|
|
13
|
+
private readonly getTimestamp?;
|
|
14
14
|
readonly t: TTable;
|
|
15
15
|
/********************************************************************************************************************
|
|
16
16
|
* constructor
|
|
17
17
|
* ******************************************************************************************************************/
|
|
18
|
-
constructor(table: TTable, current: () => MySql2Database
|
|
18
|
+
constructor(table: TTable, current: (() => MySql2Database) & {
|
|
19
|
+
getTimestamp?: () => unknown;
|
|
20
|
+
}, getTimestamp?: (() => unknown) | undefined);
|
|
19
21
|
private readonly drizzle;
|
|
20
22
|
/********************************************************************************************************************
|
|
21
23
|
* (PROTECTED) getTx
|
|
@@ -92,9 +94,18 @@ export declare class MySqlQuery<TTable extends MySqlTable, IV extends MySqlInser
|
|
|
92
94
|
count(where?: BaseWhere<this>): Promise<number>;
|
|
93
95
|
private prepareValues;
|
|
94
96
|
/********************************************************************************************************************
|
|
95
|
-
* (PRIVATE)
|
|
97
|
+
* (PRIVATE) executeInsert
|
|
96
98
|
* ******************************************************************************************************************/
|
|
97
|
-
private
|
|
99
|
+
private executeInsert;
|
|
100
|
+
/********************************************************************************************************************
|
|
101
|
+
* insertValues
|
|
102
|
+
* ******************************************************************************************************************/
|
|
103
|
+
insertValues(values: IV[]): IV[];
|
|
104
|
+
insertValues(values: IV): IV;
|
|
105
|
+
/********************************************************************************************************************
|
|
106
|
+
* updateValues
|
|
107
|
+
* ******************************************************************************************************************/
|
|
108
|
+
updateValues(values: UV): UV;
|
|
98
109
|
/********************************************************************************************************************
|
|
99
110
|
* add
|
|
100
111
|
* ******************************************************************************************************************/
|
package/dist/columns.d.cts
CHANGED
|
@@ -26,7 +26,8 @@ export type MySqlSelectedTableColumns<T extends MySqlTable> = {
|
|
|
26
26
|
/********************************************************************************************************************
|
|
27
27
|
* MySqlColumnSelectionName
|
|
28
28
|
* ******************************************************************************************************************/
|
|
29
|
-
|
|
29
|
+
type AsKeyword = 'as' | 'AS' | 'As' | 'aS';
|
|
30
|
+
export type MySqlColumnSelectionName<T extends MySqlTable> = (keyof T['_']['columns'] & string) | `${keyof T['_']['columns'] & string} ${AsKeyword} ${string}`;
|
|
30
31
|
/********************************************************************************************************************
|
|
31
32
|
* MySqlSelectedNamedColumn
|
|
32
33
|
* ******************************************************************************************************************/
|
|
@@ -34,11 +35,11 @@ type MySqlColumnForName<T extends MySqlTable, N extends string> = Extract<T['_']
|
|
|
34
35
|
/********************************************************************************************************************
|
|
35
36
|
* MySqlSelectedNamedColumn
|
|
36
37
|
* ******************************************************************************************************************/
|
|
37
|
-
type MySqlSelectionKey<T extends MySqlTable, N extends string> = N extends `${string}
|
|
38
|
+
type MySqlSelectionKey<T extends MySqlTable, N extends string> = N extends `${string} ${AsKeyword} ${infer Alias}` ? Alias : string extends MySqlColumnForName<T, N>['_']['name'] ? N : MySqlColumnForName<T, N>['_']['name'];
|
|
38
39
|
/********************************************************************************************************************
|
|
39
40
|
* MySqlSelectedNamedColumn
|
|
40
41
|
* ******************************************************************************************************************/
|
|
41
|
-
type MySqlSelectionValue<T extends MySqlTable, N extends string> = N extends `${infer Name}
|
|
42
|
+
type MySqlSelectionValue<T extends MySqlTable, N extends string> = N extends `${infer Name} ${AsKeyword} ${string}` ? SQL.Aliased<MySqlColumnForName<T, Name>['_']['data']> : MySqlColumnForName<T, N>;
|
|
42
43
|
/********************************************************************************************************************
|
|
43
44
|
* MySqlSelectedNamedColumn
|
|
44
45
|
* ******************************************************************************************************************/
|
package/dist/columns.d.ts
CHANGED
|
@@ -26,7 +26,8 @@ export type MySqlSelectedTableColumns<T extends MySqlTable> = {
|
|
|
26
26
|
/********************************************************************************************************************
|
|
27
27
|
* MySqlColumnSelectionName
|
|
28
28
|
* ******************************************************************************************************************/
|
|
29
|
-
|
|
29
|
+
type AsKeyword = 'as' | 'AS' | 'As' | 'aS';
|
|
30
|
+
export type MySqlColumnSelectionName<T extends MySqlTable> = (keyof T['_']['columns'] & string) | `${keyof T['_']['columns'] & string} ${AsKeyword} ${string}`;
|
|
30
31
|
/********************************************************************************************************************
|
|
31
32
|
* MySqlSelectedNamedColumn
|
|
32
33
|
* ******************************************************************************************************************/
|
|
@@ -34,11 +35,11 @@ type MySqlColumnForName<T extends MySqlTable, N extends string> = Extract<T['_']
|
|
|
34
35
|
/********************************************************************************************************************
|
|
35
36
|
* MySqlSelectedNamedColumn
|
|
36
37
|
* ******************************************************************************************************************/
|
|
37
|
-
type MySqlSelectionKey<T extends MySqlTable, N extends string> = N extends `${string}
|
|
38
|
+
type MySqlSelectionKey<T extends MySqlTable, N extends string> = N extends `${string} ${AsKeyword} ${infer Alias}` ? Alias : string extends MySqlColumnForName<T, N>['_']['name'] ? N : MySqlColumnForName<T, N>['_']['name'];
|
|
38
39
|
/********************************************************************************************************************
|
|
39
40
|
* MySqlSelectedNamedColumn
|
|
40
41
|
* ******************************************************************************************************************/
|
|
41
|
-
type MySqlSelectionValue<T extends MySqlTable, N extends string> = N extends `${infer Name}
|
|
42
|
+
type MySqlSelectionValue<T extends MySqlTable, N extends string> = N extends `${infer Name} ${AsKeyword} ${string}` ? SQL.Aliased<MySqlColumnForName<T, Name>['_']['data']> : MySqlColumnForName<T, N>;
|
|
42
43
|
/********************************************************************************************************************
|
|
43
44
|
* MySqlSelectedNamedColumn
|
|
44
45
|
* ******************************************************************************************************************/
|
package/dist/conditions.d.cts
CHANGED
|
@@ -1,87 +1,87 @@
|
|
|
1
1
|
import * as native from 'drizzle-orm';
|
|
2
2
|
import { MySqlTable } from 'drizzle-orm/mysql-core';
|
|
3
3
|
import type { Column, SQL } from 'drizzle-orm';
|
|
4
|
-
import type { MySqlColumnName, MySqlConditions, MySqlNullConditionInput } from './@types.cjs';
|
|
4
|
+
import type { MySqlColumnName, MySqlConditions, MySqlNullConditionInput } from './@types/index.cjs';
|
|
5
5
|
export declare function createConditions<TSchema extends Record<string, MySqlTable>>(schema: TSchema): {
|
|
6
6
|
eq: {
|
|
7
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
8
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
7
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
8
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
9
9
|
} & {
|
|
10
10
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
11
11
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
12
12
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
13
13
|
};
|
|
14
14
|
ne: {
|
|
15
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
16
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
15
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
16
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
17
17
|
} & {
|
|
18
18
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
19
19
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
20
20
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
21
21
|
};
|
|
22
22
|
gt: {
|
|
23
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
24
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
23
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
24
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
25
25
|
} & {
|
|
26
26
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
27
27
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
28
28
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
29
29
|
};
|
|
30
30
|
gte: {
|
|
31
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
32
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
31
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
32
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
33
33
|
} & {
|
|
34
34
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
35
35
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
36
36
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
37
37
|
};
|
|
38
38
|
lt: {
|
|
39
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
40
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
39
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
40
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
41
41
|
} & {
|
|
42
42
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
43
43
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
44
44
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
45
45
|
};
|
|
46
46
|
lte: {
|
|
47
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
48
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
47
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
48
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
49
49
|
} & {
|
|
50
50
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
51
51
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
52
52
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
53
53
|
};
|
|
54
54
|
inArray: {
|
|
55
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
56
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
55
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
56
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
57
57
|
} & typeof native.inArray;
|
|
58
58
|
notInArray: {
|
|
59
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
60
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
59
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
60
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
61
61
|
} & typeof native.notInArray;
|
|
62
62
|
between: {
|
|
63
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
64
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
63
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
64
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
65
65
|
} & typeof native.between;
|
|
66
66
|
notBetween: {
|
|
67
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
68
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
67
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
68
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
69
69
|
} & typeof native.notBetween;
|
|
70
70
|
like: {
|
|
71
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
72
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
71
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
72
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
73
73
|
} & typeof native.like;
|
|
74
74
|
notLike: {
|
|
75
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
76
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
75
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
76
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
77
77
|
} & typeof native.notLike;
|
|
78
78
|
ilike: {
|
|
79
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
80
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
79
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
80
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
81
81
|
} & typeof native.ilike;
|
|
82
82
|
notIlike: {
|
|
83
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
84
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
83
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
84
|
+
<T extends MySqlTable>(table: T, values: import("./index.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
85
85
|
} & typeof native.notIlike;
|
|
86
86
|
isNull: {
|
|
87
87
|
<T extends MySqlTable>(table: T, name: MySqlColumnName<T>): SQL;
|
package/dist/conditions.d.ts
CHANGED
|
@@ -1,87 +1,87 @@
|
|
|
1
1
|
import * as native from 'drizzle-orm';
|
|
2
2
|
import { MySqlTable } from 'drizzle-orm/mysql-core';
|
|
3
3
|
import type { Column, SQL } from 'drizzle-orm';
|
|
4
|
-
import type { MySqlColumnName, MySqlConditions, MySqlNullConditionInput } from './@types.js';
|
|
4
|
+
import type { MySqlColumnName, MySqlConditions, MySqlNullConditionInput } from './@types/index.js';
|
|
5
5
|
export declare function createConditions<TSchema extends Record<string, MySqlTable>>(schema: TSchema): {
|
|
6
6
|
eq: {
|
|
7
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
8
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
7
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
8
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
9
9
|
} & {
|
|
10
10
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
11
11
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
12
12
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
13
13
|
};
|
|
14
14
|
ne: {
|
|
15
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
16
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
15
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
16
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
17
17
|
} & {
|
|
18
18
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
19
19
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
20
20
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
21
21
|
};
|
|
22
22
|
gt: {
|
|
23
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
24
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
23
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
24
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
25
25
|
} & {
|
|
26
26
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
27
27
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
28
28
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
29
29
|
};
|
|
30
30
|
gte: {
|
|
31
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
32
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
31
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
32
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
33
33
|
} & {
|
|
34
34
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
35
35
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
36
36
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
37
37
|
};
|
|
38
38
|
lt: {
|
|
39
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
40
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
39
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
40
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
41
41
|
} & {
|
|
42
42
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
43
43
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
44
44
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
45
45
|
};
|
|
46
46
|
lte: {
|
|
47
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
48
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
47
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
48
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
49
49
|
} & {
|
|
50
50
|
<TColumn extends Column>(left: TColumn, right: native.GetColumnData<TColumn, "raw"> | native.SQLWrapper): SQL;
|
|
51
51
|
<T>(left: SQL.Aliased<T>, right: T | native.SQLWrapper): SQL;
|
|
52
52
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable>, right: unknown): SQL;
|
|
53
53
|
};
|
|
54
54
|
inArray: {
|
|
55
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
56
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
55
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
56
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
57
57
|
} & typeof native.inArray;
|
|
58
58
|
notInArray: {
|
|
59
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
60
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
59
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
60
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
61
61
|
} & typeof native.notInArray;
|
|
62
62
|
between: {
|
|
63
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
64
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
63
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
64
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
65
65
|
} & typeof native.between;
|
|
66
66
|
notBetween: {
|
|
67
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
68
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
67
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
68
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
69
69
|
} & typeof native.notBetween;
|
|
70
70
|
like: {
|
|
71
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
72
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
71
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
72
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
73
73
|
} & typeof native.like;
|
|
74
74
|
notLike: {
|
|
75
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
76
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
75
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
76
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
77
77
|
} & typeof native.notLike;
|
|
78
78
|
ilike: {
|
|
79
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
80
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
79
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
80
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
81
81
|
} & typeof native.ilike;
|
|
82
82
|
notIlike: {
|
|
83
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("
|
|
84
|
-
<T extends MySqlTable>(table: T, values: import("
|
|
83
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./index.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
84
|
+
<T extends MySqlTable>(table: T, values: import("./index.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
85
85
|
} & typeof native.notIlike;
|
|
86
86
|
isNull: {
|
|
87
87
|
<T extends MySqlTable>(table: T, name: MySqlColumnName<T>): SQL;
|
package/dist/drizzleMySql.d.cts
CHANGED
|
@@ -7,17 +7,19 @@ import { MySqlQuery } from './MySqlQuery.cjs';
|
|
|
7
7
|
export declare function drizzleMySql<TSchema extends Record<string, MySqlTable>>(options: {
|
|
8
8
|
url: string;
|
|
9
9
|
schema: TSchema;
|
|
10
|
-
|
|
10
|
+
getTimestamp: () => unknown;
|
|
11
11
|
}): {
|
|
12
12
|
columns: typeof TableColumns;
|
|
13
13
|
sql: typeof sql;
|
|
14
14
|
sqlNumber: (value: SQL | number) => SQL<number>;
|
|
15
15
|
sqlString: (value: SQL | string) => SQL<string>;
|
|
16
16
|
sqlBoolean: (value: SQL | boolean) => SQL<boolean>;
|
|
17
|
-
current: () => (import("drizzle-orm/mysql2").MySql2Database<native.ExtractTablesWithRelations<{}, native.ExtractTablesFromSchema<TSchema>>> & {
|
|
17
|
+
current: (() => (import("drizzle-orm/mysql2").MySql2Database<native.ExtractTablesWithRelations<{}, native.ExtractTablesFromSchema<TSchema>>> & {
|
|
18
18
|
$client: mysql.Pool;
|
|
19
|
-
}) | import("drizzle-orm/mysql-core").MySqlAsyncTransaction<import("drizzle-orm/mysql2").MySql2QueryResultHKT, native.ExtractTablesWithRelations<{}, native.ExtractTablesFromSchema<TSchema
|
|
20
|
-
|
|
19
|
+
}) | import("drizzle-orm/mysql-core").MySqlAsyncTransaction<import("drizzle-orm/mysql2").MySql2QueryResultHKT, native.ExtractTablesWithRelations<{}, native.ExtractTablesFromSchema<TSchema>>>) & {
|
|
20
|
+
getTimestamp: () => unknown;
|
|
21
|
+
};
|
|
22
|
+
query: <TTable extends TSchema[keyof TSchema]>(table: TTable) => MySqlQuery<TTable, import("./@types/index.cjs").MySqlInsertValues<TTable>, import("./@types/index.cjs").MySqlUpdateValues<TTable>, ([{ [P in keyof TTable["_"]["columns"]]: TTable["_"]["columns"][P]["_"] extends {
|
|
21
23
|
isAutoincrement: true;
|
|
22
24
|
} ? P : never; }[keyof TTable["_"]["columns"]]] extends [never] ? false : true) extends true ? number : undefined>;
|
|
23
25
|
trans: <T>(callback: () => Promise<T>) => Promise<T>;
|
|
@@ -39,104 +41,104 @@ export declare function drizzleMySql<TSchema extends Record<string, MySqlTable>>
|
|
|
39
41
|
}>;
|
|
40
42
|
close: () => Promise<void>;
|
|
41
43
|
eq: {
|
|
42
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
43
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
44
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
45
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
44
46
|
} & {
|
|
45
47
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
46
48
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
47
49
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
48
50
|
};
|
|
49
51
|
ne: {
|
|
50
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
51
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
52
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
53
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
52
54
|
} & {
|
|
53
55
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
54
56
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
55
57
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
56
58
|
};
|
|
57
59
|
gt: {
|
|
58
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
59
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
60
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
61
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
60
62
|
} & {
|
|
61
63
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
62
64
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
63
65
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
64
66
|
};
|
|
65
67
|
gte: {
|
|
66
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
67
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
68
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
69
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
68
70
|
} & {
|
|
69
71
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
70
72
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
71
73
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
72
74
|
};
|
|
73
75
|
lt: {
|
|
74
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
75
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
76
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
77
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
76
78
|
} & {
|
|
77
79
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
78
80
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
79
81
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
80
82
|
};
|
|
81
83
|
lte: {
|
|
82
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
83
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
84
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
85
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
84
86
|
} & {
|
|
85
87
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
86
88
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
87
89
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
88
90
|
};
|
|
89
91
|
inArray: {
|
|
90
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
91
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
92
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
93
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
92
94
|
} & typeof native.inArray;
|
|
93
95
|
notInArray: {
|
|
94
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
95
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
96
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
97
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
96
98
|
} & typeof native.notInArray;
|
|
97
99
|
between: {
|
|
98
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
99
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
100
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
101
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
100
102
|
} & typeof native.between;
|
|
101
103
|
notBetween: {
|
|
102
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
103
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
104
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
105
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
104
106
|
} & typeof native.notBetween;
|
|
105
107
|
like: {
|
|
106
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
107
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
108
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
109
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
108
110
|
} & typeof native.like;
|
|
109
111
|
notLike: {
|
|
110
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
111
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
112
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
113
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
112
114
|
} & typeof native.notLike;
|
|
113
115
|
ilike: {
|
|
114
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
115
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
116
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
117
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
116
118
|
} & typeof native.ilike;
|
|
117
119
|
notIlike: {
|
|
118
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
119
|
-
<T extends MySqlTable>(table: T, values: import("./@types.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
120
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.cjs").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
121
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
120
122
|
} & typeof native.notIlike;
|
|
121
123
|
isNull: {
|
|
122
|
-
<T extends MySqlTable>(table: T, name: import("./@types.cjs").MySqlColumnName<T>): SQL;
|
|
123
|
-
<T extends MySqlTable>(table: T, names: import("./@types.cjs").MySqlNullConditionInput<T>): SQL | undefined;
|
|
124
|
-
<K extends keyof TSchema & string>(table: K, name: import("./@types.cjs").MySqlColumnName<TSchema[K]>): SQL;
|
|
125
|
-
<K extends keyof TSchema & string>(table: K, names: import("./@types.cjs").MySqlNullConditionInput<TSchema[K]>): SQL | undefined;
|
|
124
|
+
<T extends MySqlTable>(table: T, name: import("./@types/index.cjs").MySqlColumnName<T>): SQL;
|
|
125
|
+
<T extends MySqlTable>(table: T, names: import("./@types/index.cjs").MySqlNullConditionInput<T>): SQL | undefined;
|
|
126
|
+
<K extends keyof TSchema & string>(table: K, name: import("./@types/index.cjs").MySqlColumnName<TSchema[K]>): SQL;
|
|
127
|
+
<K extends keyof TSchema & string>(table: K, names: import("./@types/index.cjs").MySqlNullConditionInput<TSchema[K]>): SQL | undefined;
|
|
126
128
|
} & typeof native.isNull;
|
|
127
129
|
isNotNull: {
|
|
128
|
-
<T extends MySqlTable>(table: T, name: import("./@types.cjs").MySqlColumnName<T>): SQL;
|
|
129
|
-
<T extends MySqlTable>(table: T, names: import("./@types.cjs").MySqlNullConditionInput<T>): SQL | undefined;
|
|
130
|
-
<K extends keyof TSchema & string>(table: K, name: import("./@types.cjs").MySqlColumnName<TSchema[K]>): SQL;
|
|
131
|
-
<K extends keyof TSchema & string>(table: K, names: import("./@types.cjs").MySqlNullConditionInput<TSchema[K]>): SQL | undefined;
|
|
130
|
+
<T extends MySqlTable>(table: T, name: import("./@types/index.cjs").MySqlColumnName<T>): SQL;
|
|
131
|
+
<T extends MySqlTable>(table: T, names: import("./@types/index.cjs").MySqlNullConditionInput<T>): SQL | undefined;
|
|
132
|
+
<K extends keyof TSchema & string>(table: K, name: import("./@types/index.cjs").MySqlColumnName<TSchema[K]>): SQL;
|
|
133
|
+
<K extends keyof TSchema & string>(table: K, names: import("./@types/index.cjs").MySqlNullConditionInput<TSchema[K]>): SQL | undefined;
|
|
132
134
|
} & typeof native.isNotNull;
|
|
133
135
|
and: {
|
|
134
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, options: import("./@types.cjs").MySqlConditions<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>>): SQL | undefined;
|
|
135
|
-
<T extends MySqlTable>(table: T, options: import("./@types.cjs").MySqlConditions<T>): SQL | undefined;
|
|
136
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, options: import("./@types/index.cjs").MySqlConditions<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>>): SQL | undefined;
|
|
137
|
+
<T extends MySqlTable>(table: T, options: import("./@types/index.cjs").MySqlConditions<T>): SQL | undefined;
|
|
136
138
|
} & ((...conditions: (native.SQLWrapper | false | undefined)[]) => SQL | undefined);
|
|
137
139
|
or: {
|
|
138
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, options: import("./@types.cjs").MySqlConditions<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>>): SQL | undefined;
|
|
139
|
-
<T extends MySqlTable>(table: T, options: import("./@types.cjs").MySqlConditions<T>): SQL | undefined;
|
|
140
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, options: import("./@types/index.cjs").MySqlConditions<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>>): SQL | undefined;
|
|
141
|
+
<T extends MySqlTable>(table: T, options: import("./@types/index.cjs").MySqlConditions<T>): SQL | undefined;
|
|
140
142
|
} & ((...conditions: (native.SQLWrapper | false | undefined)[]) => SQL | undefined);
|
|
141
143
|
asc: typeof native.asc;
|
|
142
144
|
desc: typeof native.desc;
|
package/dist/drizzleMySql.d.ts
CHANGED
|
@@ -7,17 +7,19 @@ import { MySqlQuery } from './MySqlQuery.js';
|
|
|
7
7
|
export declare function drizzleMySql<TSchema extends Record<string, MySqlTable>>(options: {
|
|
8
8
|
url: string;
|
|
9
9
|
schema: TSchema;
|
|
10
|
-
|
|
10
|
+
getTimestamp: () => unknown;
|
|
11
11
|
}): {
|
|
12
12
|
columns: typeof TableColumns;
|
|
13
13
|
sql: typeof sql;
|
|
14
14
|
sqlNumber: (value: SQL | number) => SQL<number>;
|
|
15
15
|
sqlString: (value: SQL | string) => SQL<string>;
|
|
16
16
|
sqlBoolean: (value: SQL | boolean) => SQL<boolean>;
|
|
17
|
-
current: () => (import("drizzle-orm/mysql2").MySql2Database<native.ExtractTablesWithRelations<{}, native.ExtractTablesFromSchema<TSchema>>> & {
|
|
17
|
+
current: (() => (import("drizzle-orm/mysql2").MySql2Database<native.ExtractTablesWithRelations<{}, native.ExtractTablesFromSchema<TSchema>>> & {
|
|
18
18
|
$client: mysql.Pool;
|
|
19
|
-
}) | import("drizzle-orm/mysql-core").MySqlAsyncTransaction<import("drizzle-orm/mysql2").MySql2QueryResultHKT, native.ExtractTablesWithRelations<{}, native.ExtractTablesFromSchema<TSchema
|
|
20
|
-
|
|
19
|
+
}) | import("drizzle-orm/mysql-core").MySqlAsyncTransaction<import("drizzle-orm/mysql2").MySql2QueryResultHKT, native.ExtractTablesWithRelations<{}, native.ExtractTablesFromSchema<TSchema>>>) & {
|
|
20
|
+
getTimestamp: () => unknown;
|
|
21
|
+
};
|
|
22
|
+
query: <TTable extends TSchema[keyof TSchema]>(table: TTable) => MySqlQuery<TTable, import("./@types/index.js").MySqlInsertValues<TTable>, import("./@types/index.js").MySqlUpdateValues<TTable>, ([{ [P in keyof TTable["_"]["columns"]]: TTable["_"]["columns"][P]["_"] extends {
|
|
21
23
|
isAutoincrement: true;
|
|
22
24
|
} ? P : never; }[keyof TTable["_"]["columns"]]] extends [never] ? false : true) extends true ? number : undefined>;
|
|
23
25
|
trans: <T>(callback: () => Promise<T>) => Promise<T>;
|
|
@@ -39,104 +41,104 @@ export declare function drizzleMySql<TSchema extends Record<string, MySqlTable>>
|
|
|
39
41
|
}>;
|
|
40
42
|
close: () => Promise<void>;
|
|
41
43
|
eq: {
|
|
42
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
43
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
44
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
45
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
44
46
|
} & {
|
|
45
47
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
46
48
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
47
49
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
48
50
|
};
|
|
49
51
|
ne: {
|
|
50
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
51
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
52
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
53
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
52
54
|
} & {
|
|
53
55
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
54
56
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
55
57
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
56
58
|
};
|
|
57
59
|
gt: {
|
|
58
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
59
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
60
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
61
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
60
62
|
} & {
|
|
61
63
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
62
64
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
63
65
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
64
66
|
};
|
|
65
67
|
gte: {
|
|
66
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
67
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
68
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
69
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
68
70
|
} & {
|
|
69
71
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
70
72
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
71
73
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
72
74
|
};
|
|
73
75
|
lt: {
|
|
74
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
75
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
76
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
77
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
76
78
|
} & {
|
|
77
79
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
78
80
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
79
81
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
80
82
|
};
|
|
81
83
|
lte: {
|
|
82
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
83
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
84
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
85
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlCompareValues<T> | undefined): SQL | undefined;
|
|
84
86
|
} & {
|
|
85
87
|
<TColumn extends native.Column>(left: TColumn, right: native.SQLWrapper<unknown> | TColumn["_"]["data"]): SQL;
|
|
86
88
|
<T>(left: SQL.Aliased<T>, right: native.SQLWrapper<unknown> | T): SQL;
|
|
87
89
|
<T extends native.SQLWrapper>(left: Exclude<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, right: unknown): SQL;
|
|
88
90
|
};
|
|
89
91
|
inArray: {
|
|
90
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
91
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
92
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
93
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
92
94
|
} & typeof native.inArray;
|
|
93
95
|
notInArray: {
|
|
94
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
95
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
96
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlArrayCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
97
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
|
|
96
98
|
} & typeof native.notInArray;
|
|
97
99
|
between: {
|
|
98
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
99
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
100
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
101
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
100
102
|
} & typeof native.between;
|
|
101
103
|
notBetween: {
|
|
102
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
103
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
104
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlRangeCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
105
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
|
|
104
106
|
} & typeof native.notBetween;
|
|
105
107
|
like: {
|
|
106
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
107
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
108
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
109
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
108
110
|
} & typeof native.like;
|
|
109
111
|
notLike: {
|
|
110
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
111
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
112
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
113
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
112
114
|
} & typeof native.notLike;
|
|
113
115
|
ilike: {
|
|
114
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
115
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
116
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
117
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
116
118
|
} & typeof native.ilike;
|
|
117
119
|
notIlike: {
|
|
118
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
119
|
-
<T extends MySqlTable>(table: T, values: import("./@types.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
120
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, values: import("./@types/index.js").MySqlPatternCompareValues<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>> | undefined): SQL | undefined;
|
|
121
|
+
<T extends MySqlTable>(table: T, values: import("./@types/index.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
|
|
120
122
|
} & typeof native.notIlike;
|
|
121
123
|
isNull: {
|
|
122
|
-
<T extends MySqlTable>(table: T, name: import("./@types.js").MySqlColumnName<T>): SQL;
|
|
123
|
-
<T extends MySqlTable>(table: T, names: import("./@types.js").MySqlNullConditionInput<T>): SQL | undefined;
|
|
124
|
-
<K extends keyof TSchema & string>(table: K, name: import("./@types.js").MySqlColumnName<TSchema[K]>): SQL;
|
|
125
|
-
<K extends keyof TSchema & string>(table: K, names: import("./@types.js").MySqlNullConditionInput<TSchema[K]>): SQL | undefined;
|
|
124
|
+
<T extends MySqlTable>(table: T, name: import("./@types/index.js").MySqlColumnName<T>): SQL;
|
|
125
|
+
<T extends MySqlTable>(table: T, names: import("./@types/index.js").MySqlNullConditionInput<T>): SQL | undefined;
|
|
126
|
+
<K extends keyof TSchema & string>(table: K, name: import("./@types/index.js").MySqlColumnName<TSchema[K]>): SQL;
|
|
127
|
+
<K extends keyof TSchema & string>(table: K, names: import("./@types/index.js").MySqlNullConditionInput<TSchema[K]>): SQL | undefined;
|
|
126
128
|
} & typeof native.isNull;
|
|
127
129
|
isNotNull: {
|
|
128
|
-
<T extends MySqlTable>(table: T, name: import("./@types.js").MySqlColumnName<T>): SQL;
|
|
129
|
-
<T extends MySqlTable>(table: T, names: import("./@types.js").MySqlNullConditionInput<T>): SQL | undefined;
|
|
130
|
-
<K extends keyof TSchema & string>(table: K, name: import("./@types.js").MySqlColumnName<TSchema[K]>): SQL;
|
|
131
|
-
<K extends keyof TSchema & string>(table: K, names: import("./@types.js").MySqlNullConditionInput<TSchema[K]>): SQL | undefined;
|
|
130
|
+
<T extends MySqlTable>(table: T, name: import("./@types/index.js").MySqlColumnName<T>): SQL;
|
|
131
|
+
<T extends MySqlTable>(table: T, names: import("./@types/index.js").MySqlNullConditionInput<T>): SQL | undefined;
|
|
132
|
+
<K extends keyof TSchema & string>(table: K, name: import("./@types/index.js").MySqlColumnName<TSchema[K]>): SQL;
|
|
133
|
+
<K extends keyof TSchema & string>(table: K, names: import("./@types/index.js").MySqlNullConditionInput<TSchema[K]>): SQL | undefined;
|
|
132
134
|
} & typeof native.isNotNull;
|
|
133
135
|
and: {
|
|
134
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, options: import("./@types.js").MySqlConditions<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>>): SQL | undefined;
|
|
135
|
-
<T extends MySqlTable>(table: T, options: import("./@types.js").MySqlConditions<T>): SQL | undefined;
|
|
136
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, options: import("./@types/index.js").MySqlConditions<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>>): SQL | undefined;
|
|
137
|
+
<T extends MySqlTable>(table: T, options: import("./@types/index.js").MySqlConditions<T>): SQL | undefined;
|
|
136
138
|
} & ((...conditions: (native.SQLWrapper | false | undefined)[]) => SQL | undefined);
|
|
137
139
|
or: {
|
|
138
|
-
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, options: import("./@types.js").MySqlConditions<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>>): SQL | undefined;
|
|
139
|
-
<T extends MySqlTable>(table: T, options: import("./@types.js").MySqlConditions<T>): SQL | undefined;
|
|
140
|
+
<T extends (keyof TSchema & string) | MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>(table: T, options: import("./@types/index.js").MySqlConditions<T extends keyof TSchema & string ? TSchema[T] : Extract<T, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>>): SQL | undefined;
|
|
141
|
+
<T extends MySqlTable>(table: T, options: import("./@types/index.js").MySqlConditions<T>): SQL | undefined;
|
|
140
142
|
} & ((...conditions: (native.SQLWrapper | false | undefined)[]) => SQL | undefined);
|
|
141
143
|
asc: typeof native.asc;
|
|
142
144
|
desc: typeof native.desc;
|
package/dist/index.cjs
CHANGED
|
@@ -406,18 +406,27 @@ class MySqlQuery {
|
|
|
406
406
|
const auto = 'autoIncrement' in column && column.autoIncrement === true;
|
|
407
407
|
const rule = operation === 'insert' ? policy.insert : policy.update;
|
|
408
408
|
const primary = column.primary;
|
|
409
|
-
const blocked =
|
|
409
|
+
const blocked = (operation === 'update' && policy.timestamp === 'created') ||
|
|
410
410
|
rule === 'blocked' ||
|
|
411
411
|
(operation === 'update' && primary && rule !== 'allowed') ||
|
|
412
412
|
(auto && rule !== 'allowed' && rule !== 'required');
|
|
413
413
|
if (blocked && Object.hasOwn(values, key))
|
|
414
414
|
throw new Error(`${operation}: column "${key}" is blocked.`);
|
|
415
|
-
if (operation === 'update' &&
|
|
415
|
+
if (operation === 'update' &&
|
|
416
|
+
!blocked &&
|
|
417
|
+
rule === 'required' &&
|
|
418
|
+
policy.timestamp !== 'updated' &&
|
|
419
|
+
values[key] === undefined) {
|
|
416
420
|
throw new Error(`update: column "${key}" is required.`);
|
|
417
421
|
}
|
|
418
|
-
if (policy.timestamp &&
|
|
422
|
+
if (policy.timestamp &&
|
|
423
|
+
values[key] === undefined &&
|
|
424
|
+
(operation === 'insert' || policy.timestamp === 'updated')) {
|
|
419
425
|
if (!generated) {
|
|
420
|
-
|
|
426
|
+
const getTimestamp = this.getTimestamp ?? this.current.getTimestamp;
|
|
427
|
+
if (!getTimestamp)
|
|
428
|
+
throw new Error('timestamp generator is not configured');
|
|
429
|
+
timestamp = getTimestamp();
|
|
421
430
|
generated = true;
|
|
422
431
|
}
|
|
423
432
|
values[key] = timestamp;
|
|
@@ -426,9 +435,9 @@ class MySqlQuery {
|
|
|
426
435
|
return values;
|
|
427
436
|
}
|
|
428
437
|
/********************************************************************************************************************
|
|
429
|
-
* (PRIVATE)
|
|
438
|
+
* (PRIVATE) executeInsert
|
|
430
439
|
* ******************************************************************************************************************/
|
|
431
|
-
async
|
|
440
|
+
async executeInsert(value) {
|
|
432
441
|
const tx = this.getTx();
|
|
433
442
|
const autoIncrementColumn = mysqlCore.getTableConfig(this.t).columns.find((column) => 'autoIncrement' in column && column.autoIncrement === true);
|
|
434
443
|
const hasAutoIncrement = !!autoIncrementColumn;
|
|
@@ -455,10 +464,19 @@ class MySqlQuery {
|
|
|
455
464
|
}
|
|
456
465
|
}
|
|
457
466
|
}
|
|
467
|
+
insertValues(values) {
|
|
468
|
+
return values;
|
|
469
|
+
}
|
|
470
|
+
/********************************************************************************************************************
|
|
471
|
+
* updateValues
|
|
472
|
+
* ******************************************************************************************************************/
|
|
473
|
+
updateValues(values) {
|
|
474
|
+
return values;
|
|
475
|
+
}
|
|
458
476
|
add(value) {
|
|
459
477
|
const items = Array.isArray(value) ? value : [value];
|
|
460
478
|
const values = items.map((item) => this.prepareValues(item, 'insert'));
|
|
461
|
-
return this.
|
|
479
|
+
return this.executeInsert((Array.isArray(value) ? values : values[0]));
|
|
462
480
|
}
|
|
463
481
|
/********************************************************************************************************************
|
|
464
482
|
* edit
|
|
@@ -623,7 +641,7 @@ const normalizeFields = (fields) => {
|
|
|
623
641
|
const pool = mysql.createPool({ uri: options.url });
|
|
624
642
|
const raw = mysql2.drizzle({ client: pool, relations: native.defineRelations(options.schema) });
|
|
625
643
|
const context = new node_async_hooks.AsyncLocalStorage();
|
|
626
|
-
const current = () => context.getStore() ?? raw;
|
|
644
|
+
const current = Object.assign(() => context.getStore() ?? raw, { getTimestamp: options.getTimestamp });
|
|
627
645
|
const trans = (callback) => {
|
|
628
646
|
const parent = context.getStore();
|
|
629
647
|
const execute = (tx) => context.run(tx, callback);
|
|
@@ -676,11 +694,7 @@ const normalizeFields = (fields) => {
|
|
|
676
694
|
sqlString: (value) => (native.is(value, native.SQL) ? value : native.sql `${value}`).mapWith(String),
|
|
677
695
|
sqlBoolean: (value) => (native.is(value, native.SQL) ? value : native.sql `${value}`).mapWith((v) => v === true || v === 1),
|
|
678
696
|
current,
|
|
679
|
-
query: (table) => new MySqlQuery(table, current,
|
|
680
|
-
if (!options.timestamp)
|
|
681
|
-
throw new Error('timestamp generator is not configured');
|
|
682
|
-
return options.timestamp();
|
|
683
|
-
}),
|
|
697
|
+
query: (table) => new MySqlQuery(table, current),
|
|
684
698
|
trans,
|
|
685
699
|
paginate,
|
|
686
700
|
close: () => pool.end(),
|
package/dist/index.esm.js
CHANGED
|
@@ -406,18 +406,27 @@ class MySqlQuery {
|
|
|
406
406
|
const auto = 'autoIncrement' in column && column.autoIncrement === true;
|
|
407
407
|
const rule = operation === 'insert' ? policy.insert : policy.update;
|
|
408
408
|
const primary = column.primary;
|
|
409
|
-
const blocked =
|
|
409
|
+
const blocked = (operation === 'update' && policy.timestamp === 'created') ||
|
|
410
410
|
rule === 'blocked' ||
|
|
411
411
|
(operation === 'update' && primary && rule !== 'allowed') ||
|
|
412
412
|
(auto && rule !== 'allowed' && rule !== 'required');
|
|
413
413
|
if (blocked && Object.hasOwn(values, key))
|
|
414
414
|
throw new Error(`${operation}: column "${key}" is blocked.`);
|
|
415
|
-
if (operation === 'update' &&
|
|
415
|
+
if (operation === 'update' &&
|
|
416
|
+
!blocked &&
|
|
417
|
+
rule === 'required' &&
|
|
418
|
+
policy.timestamp !== 'updated' &&
|
|
419
|
+
values[key] === undefined) {
|
|
416
420
|
throw new Error(`update: column "${key}" is required.`);
|
|
417
421
|
}
|
|
418
|
-
if (policy.timestamp &&
|
|
422
|
+
if (policy.timestamp &&
|
|
423
|
+
values[key] === undefined &&
|
|
424
|
+
(operation === 'insert' || policy.timestamp === 'updated')) {
|
|
419
425
|
if (!generated) {
|
|
420
|
-
|
|
426
|
+
const getTimestamp = this.getTimestamp ?? this.current.getTimestamp;
|
|
427
|
+
if (!getTimestamp)
|
|
428
|
+
throw new Error('timestamp generator is not configured');
|
|
429
|
+
timestamp = getTimestamp();
|
|
421
430
|
generated = true;
|
|
422
431
|
}
|
|
423
432
|
values[key] = timestamp;
|
|
@@ -426,9 +435,9 @@ class MySqlQuery {
|
|
|
426
435
|
return values;
|
|
427
436
|
}
|
|
428
437
|
/********************************************************************************************************************
|
|
429
|
-
* (PRIVATE)
|
|
438
|
+
* (PRIVATE) executeInsert
|
|
430
439
|
* ******************************************************************************************************************/
|
|
431
|
-
async
|
|
440
|
+
async executeInsert(value) {
|
|
432
441
|
const tx = this.getTx();
|
|
433
442
|
const autoIncrementColumn = getTableConfig(this.t).columns.find((column) => 'autoIncrement' in column && column.autoIncrement === true);
|
|
434
443
|
const hasAutoIncrement = !!autoIncrementColumn;
|
|
@@ -455,10 +464,19 @@ class MySqlQuery {
|
|
|
455
464
|
}
|
|
456
465
|
}
|
|
457
466
|
}
|
|
467
|
+
insertValues(values) {
|
|
468
|
+
return values;
|
|
469
|
+
}
|
|
470
|
+
/********************************************************************************************************************
|
|
471
|
+
* updateValues
|
|
472
|
+
* ******************************************************************************************************************/
|
|
473
|
+
updateValues(values) {
|
|
474
|
+
return values;
|
|
475
|
+
}
|
|
458
476
|
add(value) {
|
|
459
477
|
const items = Array.isArray(value) ? value : [value];
|
|
460
478
|
const values = items.map((item) => this.prepareValues(item, 'insert'));
|
|
461
|
-
return this.
|
|
479
|
+
return this.executeInsert((Array.isArray(value) ? values : values[0]));
|
|
462
480
|
}
|
|
463
481
|
/********************************************************************************************************************
|
|
464
482
|
* edit
|
|
@@ -623,7 +641,7 @@ const normalizeFields = (fields) => {
|
|
|
623
641
|
const pool = mysql.createPool({ uri: options.url });
|
|
624
642
|
const raw = drizzle({ client: pool, relations: defineRelations(options.schema) });
|
|
625
643
|
const context = new AsyncLocalStorage();
|
|
626
|
-
const current = () => context.getStore() ?? raw;
|
|
644
|
+
const current = Object.assign(() => context.getStore() ?? raw, { getTimestamp: options.getTimestamp });
|
|
627
645
|
const trans = (callback) => {
|
|
628
646
|
const parent = context.getStore();
|
|
629
647
|
const execute = (tx) => context.run(tx, callback);
|
|
@@ -676,11 +694,7 @@ const normalizeFields = (fields) => {
|
|
|
676
694
|
sqlString: (value) => (is(value, SQL) ? value : sql `${value}`).mapWith(String),
|
|
677
695
|
sqlBoolean: (value) => (is(value, SQL) ? value : sql `${value}`).mapWith((v) => v === true || v === 1),
|
|
678
696
|
current,
|
|
679
|
-
query: (table) => new MySqlQuery(table, current,
|
|
680
|
-
if (!options.timestamp)
|
|
681
|
-
throw new Error('timestamp generator is not configured');
|
|
682
|
-
return options.timestamp();
|
|
683
|
-
}),
|
|
697
|
+
query: (table) => new MySqlQuery(table, current),
|
|
684
698
|
trans,
|
|
685
699
|
paginate,
|
|
686
700
|
close: () => pool.end(),
|