@pdg/drizzle-mysql 1.0.2 → 1.0.4
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 +56 -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 +30 -9
- package/dist/MySqlQuery.d.ts +30 -9
- 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 +51 -16
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +51 -16
- package/dist/mysqlTable.d.cts +13 -2
- package/dist/mysqlTable.d.ts +13 -2
- 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
|
### 조건식
|
|
@@ -318,10 +333,41 @@ await db.trans(async () => {
|
|
|
318
333
|
|
|
319
334
|
`db.current()`는 현재 문맥의 Drizzle 데이터베이스 인스턴스를 반환합니다. 래퍼가 제공하지 않는 Drizzle 기능은 이 API로 직접 사용할 수 있습니다.
|
|
320
335
|
|
|
336
|
+
### 테이블 수정·삭제 금지
|
|
337
|
+
|
|
338
|
+
이 패키지의 `mysqlTable`에 `{ updateBlocked: true, deleteBlocked: true }`를 전달하면 등록과 조회는 유지하면서 테이블 전체의 수정·삭제를 금지합니다. 정책은 세 번째 인자에 전달하거나, 인덱스·제약조건 설정 콜백을 사용하는 경우 네 번째 인자에 전달합니다. 각 옵션을 생략하거나 `false`로 지정하면 해당 작업은 기존처럼 허용됩니다. 별도로 선언하는 정책 객체에는 `as const` 또는 `satisfies TablePolicy`를 사용해 `true` 리터럴 타입을 유지하면 타입 검사에서도 차단됩니다.
|
|
339
|
+
|
|
340
|
+
```ts
|
|
341
|
+
import { mysqlTable, int, varchar, index } from '@pdg/drizzle-mysql';
|
|
342
|
+
|
|
343
|
+
const logs = mysqlTable(
|
|
344
|
+
'logs',
|
|
345
|
+
{
|
|
346
|
+
id: int().autoincrement().primaryKey(),
|
|
347
|
+
message: varchar({ length: 100 }).notNull(),
|
|
348
|
+
},
|
|
349
|
+
{ updateBlocked: true, deleteBlocked: true },
|
|
350
|
+
);
|
|
351
|
+
|
|
352
|
+
const indexedLogs = mysqlTable(
|
|
353
|
+
'indexed_logs',
|
|
354
|
+
{
|
|
355
|
+
id: int().autoincrement().primaryKey(),
|
|
356
|
+
message: varchar({ length: 100 }).notNull(),
|
|
357
|
+
},
|
|
358
|
+
(t) => [index('indexed_logs_message_idx').on(t.message)],
|
|
359
|
+
{ updateBlocked: true, deleteBlocked: true },
|
|
360
|
+
);
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
`updateBlocked`는 `MySqlQuery.edit`와 `editByPrimaryKey`, `deleteBlocked`는 `remove`와 `removeByPrimaryKey` 호출을 TypeScript에서 차단합니다. 타입 정보가 사라지거나 JavaScript에서 호출하더라도 조건 콜백과 DB 접근 전에 명시적인 오류가 발생합니다. 테이블 수정 금지는 컬럼의 `updateAllowed()`보다 우선합니다. 정책은 `db.query(table)`과 직접 생성한 `MySqlQuery` 모두에 적용되지만, 원본 Drizzle 쿼리나 직접 실행한 SQL에는 적용되지 않습니다. DB 수준의 제한이 필요하면 별도로 `UPDATE`·`DELETE` 권한을 제한해야 합니다.
|
|
364
|
+
|
|
321
365
|
### 생성·수정 시각
|
|
322
366
|
|
|
323
367
|
컬럼 정책은 이 패키지에서 가져온 `mysqlTable`에 선언합니다. 자동 증가 컬럼은 기본적으로 등록과 수정이 금지되며, 각각 `insertAllowed()`와 `updateAllowed()`로 허용할 수 있습니다. `primaryKey()`로 지정한 컬럼도 기본적으로 수정이 금지되며, `updateAllowed()`를 명시해야 수정할 수 있습니다. 다른 컬럼은 `insertBlocked()`와 `updateBlocked()`로 금지하거나 `updateRequired()`로 수정 시 필수로 지정합니다. 금지된 값을 전달하거나 필수 수정 값을 누락하면 런타임에도 오류가 발생합니다.
|
|
324
368
|
|
|
369
|
+
금지 컬럼은 `MySqlInsertValues` / `MySqlUpdateValues`의 키에서 제외됩니다. 따라서 타입이 지정된 객체 리터럴에는 `undefined`로도 지정할 수 없습니다. TypeScript의 구조적 타입 검사로 인해 추가 속성이 있는 기존 변수를 전달하는 경우에는 컴파일을 통과할 수 있지만, 런타임에서는 금지 컬럼 키가 있으면 값이 `undefined`여도 오류가 발생합니다.
|
|
370
|
+
|
|
325
371
|
```ts
|
|
326
372
|
import { drizzleMySql, mysqlTable, int, varchar, datetime } from '@pdg/drizzle-mysql';
|
|
327
373
|
|
|
@@ -332,13 +378,20 @@ const users = mysqlTable('users', {
|
|
|
332
378
|
created_at: datetime({ mode: 'string' }).notNull().createdAt(),
|
|
333
379
|
updated_at: datetime({ mode: 'string' }).notNull().updatedAt(),
|
|
334
380
|
});
|
|
335
|
-
const db = drizzleMySql({ url: process.env.DATABASE_URL!, schema: { users },
|
|
381
|
+
const db = drizzleMySql({ url: process.env.DATABASE_URL!, schema: { users }, getTimestamp: () => new Date().toISOString() });
|
|
336
382
|
const usersQuery = db.query(users);
|
|
337
383
|
const id = await usersQuery.add({ name: '사용자' });
|
|
338
384
|
await usersQuery.editByPrimaryKey({ name: '수정' }, id);
|
|
339
385
|
```
|
|
340
386
|
|
|
341
|
-
`createdAt()
|
|
387
|
+
`createdAt()`과 `updatedAt()` 컬럼은 `add` 시 직접 값을 지정할 수 있습니다. 생략하거나 `undefined`를 전달한 컬럼만 `getTimestamp` 생성 함수의 기본값으로 채우며, 한 행에서 생성한 값은 누락된 시각 컬럼들이 공유합니다. `edit` 시에는 `createdAt()`의 직접 입력을 금지하고 기존 값을 유지합니다. `updatedAt()`은 직접 지정한 값을 사용하며, 생략하거나 `undefined`이면 기본 시각으로 갱신합니다. 명시적인 `updateBlocked()` 정책은 계속 적용되며, `updatedAt().updateRequired()`는 생략 시 기본 시각을 사용합니다. 직접 지정하는 값과 생성 함수의 반환값은 컬럼의 데이터 형식에 맞아야 합니다. `MySqlQuery`에 `db.current`가 아닌 연결 함수를 직접 전달하는 경우에는 기본 시각이 필요한 작업을 위해 세 번째 인자로 시각 생성 함수도 지정해야 하며, 생성 함수 없이 기본 시각이 필요한 작업을 실행하면 오류가 발생합니다. 정책은 `MySqlQuery`에만 적용되며 `db.current()`의 원본 Drizzle 쿼리에는 적용되지 않습니다. `mysqlTableCreator`, `mysqlSchema` 또는 Drizzle에서 직접 가져온 `mysqlTable`은 컬럼 정책을 수집하지 않으므로 정책이 필요한 테이블에는 이 패키지의 `mysqlTable`을 사용합니다.
|
|
388
|
+
|
|
389
|
+
```ts
|
|
390
|
+
await usersQuery.add({ name: '사용자', created_at: '2026-01-01 00:00:00' });
|
|
391
|
+
// created_at은 지정한 값을 유지하고 updated_at은 getTimestamp의 값을 사용합니다.
|
|
392
|
+
await usersQuery.editByPrimaryKey({ updated_at: '2026-01-02 00:00:00' }, id);
|
|
393
|
+
// updated_at은 지정한 값을 사용합니다.
|
|
394
|
+
```
|
|
342
395
|
|
|
343
396
|
### 집계·SQL 표현식
|
|
344
397
|
|
|
@@ -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,22 @@ 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
|
|
6
|
+
import { type TableMutationPolicy } from './mysqlTable.cjs';
|
|
7
|
+
import type { MySqlInsertValues, MySqlUpdateValues, MySqlCompareValues, MySqlColumnName, MySqlArrayCompareValues, MySqlRangeCompareValues, MySqlPatternCompareValues, MySqlNullConditionInput, MySqlConditions } from './@types/index.cjs';
|
|
7
8
|
import type { MySql2Database } from 'drizzle-orm/mysql2';
|
|
8
9
|
/********************************************************************************************************************
|
|
9
10
|
* MySqlQuery
|
|
10
11
|
* ******************************************************************************************************************/
|
|
11
12
|
export declare class MySqlQuery<TTable extends MySqlTable, IV extends MySqlInsertValues<TTable> = MySqlInsertValues<TTable>, UV extends MySqlUpdateValues<TTable> = MySqlUpdateValues<TTable>, AR = AddResult<TTable>> {
|
|
12
13
|
private readonly current;
|
|
13
|
-
private readonly getTimestamp
|
|
14
|
+
private readonly getTimestamp?;
|
|
14
15
|
readonly t: TTable;
|
|
15
16
|
/********************************************************************************************************************
|
|
16
17
|
* constructor
|
|
17
18
|
* ******************************************************************************************************************/
|
|
18
|
-
constructor(table: TTable, current: () => MySql2Database
|
|
19
|
+
constructor(table: TTable, current: (() => MySql2Database) & {
|
|
20
|
+
getTimestamp?: () => unknown;
|
|
21
|
+
}, getTimestamp?: (() => unknown) | undefined);
|
|
19
22
|
private readonly drizzle;
|
|
20
23
|
/********************************************************************************************************************
|
|
21
24
|
* (PROTECTED) getTx
|
|
@@ -92,9 +95,18 @@ export declare class MySqlQuery<TTable extends MySqlTable, IV extends MySqlInser
|
|
|
92
95
|
count(where?: BaseWhere<this>): Promise<number>;
|
|
93
96
|
private prepareValues;
|
|
94
97
|
/********************************************************************************************************************
|
|
95
|
-
* (PRIVATE)
|
|
98
|
+
* (PRIVATE) executeInsert
|
|
96
99
|
* ******************************************************************************************************************/
|
|
97
|
-
private
|
|
100
|
+
private executeInsert;
|
|
101
|
+
/********************************************************************************************************************
|
|
102
|
+
* insertValues
|
|
103
|
+
* ******************************************************************************************************************/
|
|
104
|
+
insertValues(values: IV[]): IV[];
|
|
105
|
+
insertValues(values: IV): IV;
|
|
106
|
+
/********************************************************************************************************************
|
|
107
|
+
* updateValues
|
|
108
|
+
* ******************************************************************************************************************/
|
|
109
|
+
updateValues(values: UV): UV;
|
|
98
110
|
/********************************************************************************************************************
|
|
99
111
|
* add
|
|
100
112
|
* ******************************************************************************************************************/
|
|
@@ -103,19 +115,28 @@ export declare class MySqlQuery<TTable extends MySqlTable, IV extends MySqlInser
|
|
|
103
115
|
/********************************************************************************************************************
|
|
104
116
|
* edit
|
|
105
117
|
* ******************************************************************************************************************/
|
|
106
|
-
edit(
|
|
118
|
+
edit(this: this & (TableMutationPolicy<TTable> extends {
|
|
119
|
+
updateBlocked: true;
|
|
120
|
+
} ? never : unknown), set: UV, where: BaseWhere<this>): Omit<import("drizzle-orm/mysql-core").MySqlAsyncUpdateBase<import("drizzle-orm").Assume<import("drizzle-orm").Assume<TTable, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, import("drizzle-orm/mysql2").MySql2QueryResultHKT, false, "where">, "where">;
|
|
107
121
|
/********************************************************************************************************************
|
|
108
122
|
* editByPrimaryKey
|
|
109
123
|
* ******************************************************************************************************************/
|
|
110
|
-
editByPrimaryKey(
|
|
124
|
+
editByPrimaryKey(this: this & (TableMutationPolicy<TTable> extends {
|
|
125
|
+
updateBlocked: true;
|
|
126
|
+
} ? never : unknown), set: UV, key: PrimaryKeyInput<TTable>): Omit<import("drizzle-orm/mysql-core").MySqlAsyncUpdateBase<import("drizzle-orm").Assume<import("drizzle-orm").Assume<TTable, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, import("drizzle-orm/mysql2").MySql2QueryResultHKT, false, "where">, "where">;
|
|
111
127
|
/********************************************************************************************************************
|
|
112
128
|
* remove
|
|
113
129
|
* ******************************************************************************************************************/
|
|
114
|
-
remove(
|
|
130
|
+
remove(this: this & (TableMutationPolicy<TTable> extends {
|
|
131
|
+
deleteBlocked: true;
|
|
132
|
+
} ? never : unknown), where: BaseWhere<this>): Omit<import("drizzle-orm/mysql-core").MySqlAsyncDeleteBase<import("drizzle-orm").Assume<TTable, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, import("drizzle-orm/mysql2").MySql2QueryResultHKT, false, "where">, "where">;
|
|
115
133
|
/********************************************************************************************************************
|
|
116
134
|
* removeByPrimaryKey
|
|
117
135
|
* ******************************************************************************************************************/
|
|
118
|
-
removeByPrimaryKey(
|
|
136
|
+
removeByPrimaryKey(this: this & (TableMutationPolicy<TTable> extends {
|
|
137
|
+
deleteBlocked: true;
|
|
138
|
+
} ? never : unknown), key: PrimaryKeyInput<TTable>): Omit<import("drizzle-orm/mysql-core").MySqlAsyncDeleteBase<import("drizzle-orm").Assume<TTable, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, import("drizzle-orm/mysql2").MySql2QueryResultHKT, false, "where">, "where">;
|
|
139
|
+
private assertMutationAllowed;
|
|
119
140
|
/********************************************************************************************************************
|
|
120
141
|
* eq
|
|
121
142
|
* ******************************************************************************************************************/
|
package/dist/MySqlQuery.d.ts
CHANGED
|
@@ -3,19 +3,22 @@ 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
|
|
6
|
+
import { type TableMutationPolicy } from './mysqlTable.js';
|
|
7
|
+
import type { MySqlInsertValues, MySqlUpdateValues, MySqlCompareValues, MySqlColumnName, MySqlArrayCompareValues, MySqlRangeCompareValues, MySqlPatternCompareValues, MySqlNullConditionInput, MySqlConditions } from './@types/index.js';
|
|
7
8
|
import type { MySql2Database } from 'drizzle-orm/mysql2';
|
|
8
9
|
/********************************************************************************************************************
|
|
9
10
|
* MySqlQuery
|
|
10
11
|
* ******************************************************************************************************************/
|
|
11
12
|
export declare class MySqlQuery<TTable extends MySqlTable, IV extends MySqlInsertValues<TTable> = MySqlInsertValues<TTable>, UV extends MySqlUpdateValues<TTable> = MySqlUpdateValues<TTable>, AR = AddResult<TTable>> {
|
|
12
13
|
private readonly current;
|
|
13
|
-
private readonly getTimestamp
|
|
14
|
+
private readonly getTimestamp?;
|
|
14
15
|
readonly t: TTable;
|
|
15
16
|
/********************************************************************************************************************
|
|
16
17
|
* constructor
|
|
17
18
|
* ******************************************************************************************************************/
|
|
18
|
-
constructor(table: TTable, current: () => MySql2Database
|
|
19
|
+
constructor(table: TTable, current: (() => MySql2Database) & {
|
|
20
|
+
getTimestamp?: () => unknown;
|
|
21
|
+
}, getTimestamp?: (() => unknown) | undefined);
|
|
19
22
|
private readonly drizzle;
|
|
20
23
|
/********************************************************************************************************************
|
|
21
24
|
* (PROTECTED) getTx
|
|
@@ -92,9 +95,18 @@ export declare class MySqlQuery<TTable extends MySqlTable, IV extends MySqlInser
|
|
|
92
95
|
count(where?: BaseWhere<this>): Promise<number>;
|
|
93
96
|
private prepareValues;
|
|
94
97
|
/********************************************************************************************************************
|
|
95
|
-
* (PRIVATE)
|
|
98
|
+
* (PRIVATE) executeInsert
|
|
96
99
|
* ******************************************************************************************************************/
|
|
97
|
-
private
|
|
100
|
+
private executeInsert;
|
|
101
|
+
/********************************************************************************************************************
|
|
102
|
+
* insertValues
|
|
103
|
+
* ******************************************************************************************************************/
|
|
104
|
+
insertValues(values: IV[]): IV[];
|
|
105
|
+
insertValues(values: IV): IV;
|
|
106
|
+
/********************************************************************************************************************
|
|
107
|
+
* updateValues
|
|
108
|
+
* ******************************************************************************************************************/
|
|
109
|
+
updateValues(values: UV): UV;
|
|
98
110
|
/********************************************************************************************************************
|
|
99
111
|
* add
|
|
100
112
|
* ******************************************************************************************************************/
|
|
@@ -103,19 +115,28 @@ export declare class MySqlQuery<TTable extends MySqlTable, IV extends MySqlInser
|
|
|
103
115
|
/********************************************************************************************************************
|
|
104
116
|
* edit
|
|
105
117
|
* ******************************************************************************************************************/
|
|
106
|
-
edit(
|
|
118
|
+
edit(this: this & (TableMutationPolicy<TTable> extends {
|
|
119
|
+
updateBlocked: true;
|
|
120
|
+
} ? never : unknown), set: UV, where: BaseWhere<this>): Omit<import("drizzle-orm/mysql-core").MySqlAsyncUpdateBase<import("drizzle-orm").Assume<import("drizzle-orm").Assume<TTable, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, import("drizzle-orm/mysql2").MySql2QueryResultHKT, false, "where">, "where">;
|
|
107
121
|
/********************************************************************************************************************
|
|
108
122
|
* editByPrimaryKey
|
|
109
123
|
* ******************************************************************************************************************/
|
|
110
|
-
editByPrimaryKey(
|
|
124
|
+
editByPrimaryKey(this: this & (TableMutationPolicy<TTable> extends {
|
|
125
|
+
updateBlocked: true;
|
|
126
|
+
} ? never : unknown), set: UV, key: PrimaryKeyInput<TTable>): Omit<import("drizzle-orm/mysql-core").MySqlAsyncUpdateBase<import("drizzle-orm").Assume<import("drizzle-orm").Assume<TTable, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, import("drizzle-orm/mysql2").MySql2QueryResultHKT, false, "where">, "where">;
|
|
111
127
|
/********************************************************************************************************************
|
|
112
128
|
* remove
|
|
113
129
|
* ******************************************************************************************************************/
|
|
114
|
-
remove(
|
|
130
|
+
remove(this: this & (TableMutationPolicy<TTable> extends {
|
|
131
|
+
deleteBlocked: true;
|
|
132
|
+
} ? never : unknown), where: BaseWhere<this>): Omit<import("drizzle-orm/mysql-core").MySqlAsyncDeleteBase<import("drizzle-orm").Assume<TTable, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, import("drizzle-orm/mysql2").MySql2QueryResultHKT, false, "where">, "where">;
|
|
115
133
|
/********************************************************************************************************************
|
|
116
134
|
* removeByPrimaryKey
|
|
117
135
|
* ******************************************************************************************************************/
|
|
118
|
-
removeByPrimaryKey(
|
|
136
|
+
removeByPrimaryKey(this: this & (TableMutationPolicy<TTable> extends {
|
|
137
|
+
deleteBlocked: true;
|
|
138
|
+
} ? never : unknown), key: PrimaryKeyInput<TTable>): Omit<import("drizzle-orm/mysql-core").MySqlAsyncDeleteBase<import("drizzle-orm").Assume<TTable, MySqlTable<import("drizzle-orm/mysql-core").TableConfig>>, import("drizzle-orm/mysql2").MySql2QueryResultHKT, false, "where">, "where">;
|
|
139
|
+
private assertMutationAllowed;
|
|
119
140
|
/********************************************************************************************************************
|
|
120
141
|
* eq
|
|
121
142
|
* ******************************************************************************************************************/
|
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;
|