@pdg/drizzle-mysql 1.0.1 → 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 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`, 선택 사항인 `timestamp`입니다. `db.query(table)`은 해당 테이블에 맞춰 타입이 지정된 쿼리 객체를 반환합니다. 연결을 다 사용한 뒤 `await db.close()`로 커넥션 풀을 닫습니다.
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
  ### 조건식
@@ -320,7 +335,9 @@ await db.trans(async () => {
320
335
 
321
336
  ### 생성·수정 시각
322
337
 
323
- 컬럼 정책은 이 패키지에서 가져온 `mysqlTable`에 선언합니다. 자동 증가 컬럼은 기본적으로 등록과 수정이 금지되며, 각각 `insertAllowed()`와 `updateAllowed()`로 허용할 수 있습니다. 다른 컬럼은 `insertBlocked()`와 `updateBlocked()`로 금지하거나 `updateRequired()`로 수정 시 필수로 지정합니다. 금지된 값을 전달하거나 필수 수정 값을 누락하면 런타임에도 오류가 발생합니다.
338
+ 컬럼 정책은 이 패키지에서 가져온 `mysqlTable`에 선언합니다. 자동 증가 컬럼은 기본적으로 등록과 수정이 금지되며, 각각 `insertAllowed()`와 `updateAllowed()`로 허용할 수 있습니다. `primaryKey()`로 지정한 컬럼도 기본적으로 수정이 금지되며, `updateAllowed()`를 명시해야 수정할 수 있습니다. 다른 컬럼은 `insertBlocked()`와 `updateBlocked()`로 금지하거나 `updateRequired()`로 수정 시 필수로 지정합니다. 금지된 값을 전달하거나 필수 수정 값을 누락하면 런타임에도 오류가 발생합니다.
339
+
340
+ 금지 컬럼은 `MySqlInsertValues` / `MySqlUpdateValues`의 키에서 제외됩니다. 따라서 타입이 지정된 객체 리터럴에는 `undefined`로도 지정할 수 없습니다. TypeScript의 구조적 타입 검사로 인해 추가 속성이 있는 기존 변수를 전달하는 경우에는 컴파일을 통과할 수 있지만, 런타임에서는 금지 컬럼 키가 있으면 값이 `undefined`여도 오류가 발생합니다.
324
341
 
325
342
  ```ts
326
343
  import { drizzleMySql, mysqlTable, int, varchar, datetime } from '@pdg/drizzle-mysql';
@@ -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 }, timestamp: () => new Date().toISOString() });
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()`은 등록 시, `updatedAt()`은 등록과 수정 시 `timestamp` 생성 함수의 값을 자동으로 넣습니다. 지정된 시각 컬럼은 직접 입력할 수 없으며 생성 함수를 설정하지 않으면 해당 작업에서 오류가 발생합니다. 컬럼의 데이터 형식에 맞는 값을 반환해야 합니다. 정책은 `MySqlQuery`에만 적용되며 `db.current()`의 원본 Drizzle 쿼리에는 적용되지 않습니다. `mysqlTableCreator`, `mysqlSchema` 또는 Drizzle에서 직접 가져온 `mysqlTable`은 컬럼 정책을 수집하지 않으므로 정책이 필요한 테이블에는 이 패키지의 `mysqlTable`을 사용합니다.
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
- export type MySqlInsertValues<T extends MySqlTable, B extends keyof InsertValue<T> = never> = Omit<InsertValue<T>, B | Blocked<T>> & {
14
- [K in B | Blocked<T>]?: never;
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
- export type MySqlInsertValues<T extends MySqlTable, B extends keyof InsertValue<T> = never> = Omit<InsertValue<T>, B | Blocked<T>> & {
14
- [K in B | Blocked<T>]?: never;
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 {};
@@ -1,23 +1,26 @@
1
1
  import type { MySqlTable } from 'drizzle-orm/mysql-core/table';
2
2
  import type { MySqlUpdateSetSource } from 'drizzle-orm/mysql-core/query-builders/update';
3
3
  import type { TablePolicies } from '../mysqlTable.cjs';
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;
4
5
  type Blocked<T extends MySqlTable> = {
5
6
  [K in keyof MySqlUpdateSetSource<T>]-?: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
6
- timestamp: string;
7
+ timestamp: 'created';
7
8
  } | {
8
9
  update: 'blocked';
9
10
  } ? K : TablePolicies<T>[K] extends {
10
- update: 'allowed' | 'required';
11
- } ? 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;
11
+ update: 'allowed';
12
+ } ? never : K extends keyof T['_']['columns'] ? T['_']['columns'][K]['_']['isPrimaryKey'] extends true ? K : TablePolicies<T>[K] extends {
13
+ update: 'required';
14
+ } ? never : DefaultBlocked<T, K> : never : DefaultBlocked<T, K>;
12
15
  }[keyof MySqlUpdateSetSource<T>] & keyof MySqlUpdateSetSource<T>;
13
16
  type RequiredKeys<T extends MySqlTable> = {
14
17
  [K in keyof MySqlUpdateSetSource<T>]-?: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
15
18
  update: 'required';
16
- } ? K : never : never;
19
+ } ? TablePolicies<T>[K] extends {
20
+ timestamp: 'updated';
21
+ } ? never : K : never : never;
17
22
  }[keyof MySqlUpdateSetSource<T>] & keyof MySqlUpdateSetSource<T>;
18
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>> & {
19
- [K in B | Blocked<T>]?: never;
20
- } & {
21
24
  [K in Exclude<R | RequiredKeys<T>, B | Blocked<T>>]-?: Exclude<MySqlUpdateSetSource<T>[K], undefined>;
22
25
  };
23
26
  export {};
@@ -1,23 +1,26 @@
1
1
  import type { MySqlTable } from 'drizzle-orm/mysql-core/table';
2
2
  import type { MySqlUpdateSetSource } from 'drizzle-orm/mysql-core/query-builders/update';
3
3
  import type { TablePolicies } from '../mysqlTable.js';
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;
4
5
  type Blocked<T extends MySqlTable> = {
5
6
  [K in keyof MySqlUpdateSetSource<T>]-?: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
6
- timestamp: string;
7
+ timestamp: 'created';
7
8
  } | {
8
9
  update: 'blocked';
9
10
  } ? K : TablePolicies<T>[K] extends {
10
- update: 'allowed' | 'required';
11
- } ? 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;
11
+ update: 'allowed';
12
+ } ? never : K extends keyof T['_']['columns'] ? T['_']['columns'][K]['_']['isPrimaryKey'] extends true ? K : TablePolicies<T>[K] extends {
13
+ update: 'required';
14
+ } ? never : DefaultBlocked<T, K> : never : DefaultBlocked<T, K>;
12
15
  }[keyof MySqlUpdateSetSource<T>] & keyof MySqlUpdateSetSource<T>;
13
16
  type RequiredKeys<T extends MySqlTable> = {
14
17
  [K in keyof MySqlUpdateSetSource<T>]-?: K extends keyof TablePolicies<T> ? TablePolicies<T>[K] extends {
15
18
  update: 'required';
16
- } ? K : never : never;
19
+ } ? TablePolicies<T>[K] extends {
20
+ timestamp: 'updated';
21
+ } ? never : K : never : never;
17
22
  }[keyof MySqlUpdateSetSource<T>] & keyof MySqlUpdateSetSource<T>;
18
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>> & {
19
- [K in B | Blocked<T>]?: never;
20
- } & {
21
24
  [K in Exclude<R | RequiredKeys<T>, B | Blocked<T>>]-?: Exclude<MySqlUpdateSetSource<T>[K], undefined>;
22
25
  };
23
26
  export {};
@@ -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, getTimestamp: () => any);
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) insertValues
97
+ * (PRIVATE) executeInsert
96
98
  * ******************************************************************************************************************/
97
- private insertValues;
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
  * ******************************************************************************************************************/
@@ -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, getTimestamp: () => any);
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) insertValues
97
+ * (PRIVATE) executeInsert
96
98
  * ******************************************************************************************************************/
97
- private insertValues;
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
  * ******************************************************************************************************************/
@@ -26,7 +26,8 @@ export type MySqlSelectedTableColumns<T extends MySqlTable> = {
26
26
  /********************************************************************************************************************
27
27
  * MySqlColumnSelectionName
28
28
  * ******************************************************************************************************************/
29
- export type MySqlColumnSelectionName<T extends MySqlTable> = (keyof T['_']['columns'] & string) | `${keyof T['_']['columns'] & string} as ${string}`;
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} as ${infer Alias}` ? Alias : string extends MySqlColumnForName<T, N>['_']['name'] ? N : MySqlColumnForName<T, N>['_']['name'];
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} as ${string}` ? SQL.Aliased<MySqlColumnForName<T, Name>['_']['data']> : MySqlColumnForName<T, N>;
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
- export type MySqlColumnSelectionName<T extends MySqlTable> = (keyof T['_']['columns'] & string) | `${keyof T['_']['columns'] & string} as ${string}`;
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} as ${infer Alias}` ? Alias : string extends MySqlColumnForName<T, N>['_']['name'] ? N : MySqlColumnForName<T, N>['_']['name'];
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} as ${string}` ? SQL.Aliased<MySqlColumnForName<T, Name>['_']['data']> : MySqlColumnForName<T, N>;
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
  * ******************************************************************************************************************/
@@ -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("./@types.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("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.cjs").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
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;
@@ -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("./@types.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("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlArrayCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlRangeCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
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("./@types.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("./@types.js").MySqlPatternCompareValues<T> | undefined): SQL | undefined;
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;
@@ -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
- timestamp?: () => unknown;
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
- query: <TTable extends TSchema[keyof TSchema]>(table: TTable) => MySqlQuery<TTable, import("./@types.cjs").MySqlInsertValues<TTable>, import("./@types.cjs").MySqlUpdateValues<TTable>, ([{ [P in keyof TTable["_"]["columns"]]: TTable["_"]["columns"][P]["_"] extends {
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;
@@ -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
- timestamp?: () => unknown;
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
- query: <TTable extends TSchema[keyof TSchema]>(table: TTable) => MySqlQuery<TTable, import("./@types.js").MySqlInsertValues<TTable>, import("./@types.js").MySqlUpdateValues<TTable>, ([{ [P in keyof TTable["_"]["columns"]]: TTable["_"]["columns"][P]["_"] extends {
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
@@ -405,15 +405,28 @@ class MySqlQuery {
405
405
  const policy = policies[key] ?? {};
406
406
  const auto = 'autoIncrement' in column && column.autoIncrement === true;
407
407
  const rule = operation === 'insert' ? policy.insert : policy.update;
408
- const blocked = !!policy.timestamp || rule === 'blocked' || (auto && rule !== 'allowed' && rule !== 'required');
408
+ const primary = column.primary;
409
+ const blocked = (operation === 'update' && policy.timestamp === 'created') ||
410
+ rule === 'blocked' ||
411
+ (operation === 'update' && primary && rule !== 'allowed') ||
412
+ (auto && rule !== 'allowed' && rule !== 'required');
409
413
  if (blocked && Object.hasOwn(values, key))
410
414
  throw new Error(`${operation}: column "${key}" is blocked.`);
411
- if (operation === 'update' && rule === 'required' && values[key] === undefined) {
415
+ if (operation === 'update' &&
416
+ !blocked &&
417
+ rule === 'required' &&
418
+ policy.timestamp !== 'updated' &&
419
+ values[key] === undefined) {
412
420
  throw new Error(`update: column "${key}" is required.`);
413
421
  }
414
- if (policy.timestamp && (operation === 'insert' || policy.timestamp === 'updated')) {
422
+ if (policy.timestamp &&
423
+ values[key] === undefined &&
424
+ (operation === 'insert' || policy.timestamp === 'updated')) {
415
425
  if (!generated) {
416
- timestamp = this.getTimestamp();
426
+ const getTimestamp = this.getTimestamp ?? this.current.getTimestamp;
427
+ if (!getTimestamp)
428
+ throw new Error('timestamp generator is not configured');
429
+ timestamp = getTimestamp();
417
430
  generated = true;
418
431
  }
419
432
  values[key] = timestamp;
@@ -422,9 +435,9 @@ class MySqlQuery {
422
435
  return values;
423
436
  }
424
437
  /********************************************************************************************************************
425
- * (PRIVATE) insertValues
438
+ * (PRIVATE) executeInsert
426
439
  * ******************************************************************************************************************/
427
- async insertValues(value) {
440
+ async executeInsert(value) {
428
441
  const tx = this.getTx();
429
442
  const autoIncrementColumn = mysqlCore.getTableConfig(this.t).columns.find((column) => 'autoIncrement' in column && column.autoIncrement === true);
430
443
  const hasAutoIncrement = !!autoIncrementColumn;
@@ -451,10 +464,19 @@ class MySqlQuery {
451
464
  }
452
465
  }
453
466
  }
467
+ insertValues(values) {
468
+ return values;
469
+ }
470
+ /********************************************************************************************************************
471
+ * updateValues
472
+ * ******************************************************************************************************************/
473
+ updateValues(values) {
474
+ return values;
475
+ }
454
476
  add(value) {
455
477
  const items = Array.isArray(value) ? value : [value];
456
478
  const values = items.map((item) => this.prepareValues(item, 'insert'));
457
- return this.insertValues((Array.isArray(value) ? values : values[0]));
479
+ return this.executeInsert((Array.isArray(value) ? values : values[0]));
458
480
  }
459
481
  /********************************************************************************************************************
460
482
  * edit
@@ -619,7 +641,7 @@ const normalizeFields = (fields) => {
619
641
  const pool = mysql.createPool({ uri: options.url });
620
642
  const raw = mysql2.drizzle({ client: pool, relations: native.defineRelations(options.schema) });
621
643
  const context = new node_async_hooks.AsyncLocalStorage();
622
- const current = () => context.getStore() ?? raw;
644
+ const current = Object.assign(() => context.getStore() ?? raw, { getTimestamp: options.getTimestamp });
623
645
  const trans = (callback) => {
624
646
  const parent = context.getStore();
625
647
  const execute = (tx) => context.run(tx, callback);
@@ -672,11 +694,7 @@ const normalizeFields = (fields) => {
672
694
  sqlString: (value) => (native.is(value, native.SQL) ? value : native.sql `${value}`).mapWith(String),
673
695
  sqlBoolean: (value) => (native.is(value, native.SQL) ? value : native.sql `${value}`).mapWith((v) => v === true || v === 1),
674
696
  current,
675
- query: (table) => new MySqlQuery(table, current, () => {
676
- if (!options.timestamp)
677
- throw new Error('timestamp generator is not configured');
678
- return options.timestamp();
679
- }),
697
+ query: (table) => new MySqlQuery(table, current),
680
698
  trans,
681
699
  paginate,
682
700
  close: () => pool.end(),
package/dist/index.esm.js CHANGED
@@ -405,15 +405,28 @@ class MySqlQuery {
405
405
  const policy = policies[key] ?? {};
406
406
  const auto = 'autoIncrement' in column && column.autoIncrement === true;
407
407
  const rule = operation === 'insert' ? policy.insert : policy.update;
408
- const blocked = !!policy.timestamp || rule === 'blocked' || (auto && rule !== 'allowed' && rule !== 'required');
408
+ const primary = column.primary;
409
+ const blocked = (operation === 'update' && policy.timestamp === 'created') ||
410
+ rule === 'blocked' ||
411
+ (operation === 'update' && primary && rule !== 'allowed') ||
412
+ (auto && rule !== 'allowed' && rule !== 'required');
409
413
  if (blocked && Object.hasOwn(values, key))
410
414
  throw new Error(`${operation}: column "${key}" is blocked.`);
411
- if (operation === 'update' && rule === 'required' && values[key] === undefined) {
415
+ if (operation === 'update' &&
416
+ !blocked &&
417
+ rule === 'required' &&
418
+ policy.timestamp !== 'updated' &&
419
+ values[key] === undefined) {
412
420
  throw new Error(`update: column "${key}" is required.`);
413
421
  }
414
- if (policy.timestamp && (operation === 'insert' || policy.timestamp === 'updated')) {
422
+ if (policy.timestamp &&
423
+ values[key] === undefined &&
424
+ (operation === 'insert' || policy.timestamp === 'updated')) {
415
425
  if (!generated) {
416
- timestamp = this.getTimestamp();
426
+ const getTimestamp = this.getTimestamp ?? this.current.getTimestamp;
427
+ if (!getTimestamp)
428
+ throw new Error('timestamp generator is not configured');
429
+ timestamp = getTimestamp();
417
430
  generated = true;
418
431
  }
419
432
  values[key] = timestamp;
@@ -422,9 +435,9 @@ class MySqlQuery {
422
435
  return values;
423
436
  }
424
437
  /********************************************************************************************************************
425
- * (PRIVATE) insertValues
438
+ * (PRIVATE) executeInsert
426
439
  * ******************************************************************************************************************/
427
- async insertValues(value) {
440
+ async executeInsert(value) {
428
441
  const tx = this.getTx();
429
442
  const autoIncrementColumn = getTableConfig(this.t).columns.find((column) => 'autoIncrement' in column && column.autoIncrement === true);
430
443
  const hasAutoIncrement = !!autoIncrementColumn;
@@ -451,10 +464,19 @@ class MySqlQuery {
451
464
  }
452
465
  }
453
466
  }
467
+ insertValues(values) {
468
+ return values;
469
+ }
470
+ /********************************************************************************************************************
471
+ * updateValues
472
+ * ******************************************************************************************************************/
473
+ updateValues(values) {
474
+ return values;
475
+ }
454
476
  add(value) {
455
477
  const items = Array.isArray(value) ? value : [value];
456
478
  const values = items.map((item) => this.prepareValues(item, 'insert'));
457
- return this.insertValues((Array.isArray(value) ? values : values[0]));
479
+ return this.executeInsert((Array.isArray(value) ? values : values[0]));
458
480
  }
459
481
  /********************************************************************************************************************
460
482
  * edit
@@ -619,7 +641,7 @@ const normalizeFields = (fields) => {
619
641
  const pool = mysql.createPool({ uri: options.url });
620
642
  const raw = drizzle({ client: pool, relations: defineRelations(options.schema) });
621
643
  const context = new AsyncLocalStorage();
622
- const current = () => context.getStore() ?? raw;
644
+ const current = Object.assign(() => context.getStore() ?? raw, { getTimestamp: options.getTimestamp });
623
645
  const trans = (callback) => {
624
646
  const parent = context.getStore();
625
647
  const execute = (tx) => context.run(tx, callback);
@@ -672,11 +694,7 @@ const normalizeFields = (fields) => {
672
694
  sqlString: (value) => (is(value, SQL) ? value : sql `${value}`).mapWith(String),
673
695
  sqlBoolean: (value) => (is(value, SQL) ? value : sql `${value}`).mapWith((v) => v === true || v === 1),
674
696
  current,
675
- query: (table) => new MySqlQuery(table, current, () => {
676
- if (!options.timestamp)
677
- throw new Error('timestamp generator is not configured');
678
- return options.timestamp();
679
- }),
697
+ query: (table) => new MySqlQuery(table, current),
680
698
  trans,
681
699
  paginate,
682
700
  close: () => pool.end(),
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pdg/drizzle-mysql",
3
3
  "title": "Drizzle for MySql",
4
4
  "description": "Drizzle for MySql",
5
- "version": "1.0.1",
5
+ "version": "1.0.3",
6
6
  "type": "module",
7
7
  "main": "./dist/index.cjs",
8
8
  "module": "./dist/index.esm.js",