drizzle-orm 0.25.2 → 0.25.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/aws-data-api/pg/index.d.ts +2 -2
- package/aws-data-api/pg/migrator.d.ts +2 -2
- package/better-sqlite3/index.d.ts +2 -2
- package/better-sqlite3/migrator.d.ts +2 -2
- package/bun-sqlite/index.d.ts +2 -2
- package/bun-sqlite/migrator.d.ts +2 -2
- package/d1/index.d.ts +2 -2
- package/d1/migrator.d.ts +2 -2
- package/{db.d-66553b9e.d.ts → db.d-9136888c.d.ts} +2 -2
- package/{db.d-ae495c35.d.ts → db.d-fde890b4.d.ts} +2 -2
- package/{driver.d-e4bd120b.d.ts → driver.d-1e0a19a9.d.ts} +1 -1
- package/{driver.d-693f7f9f.d.ts → driver.d-2ed188ed.d.ts} +1 -1
- package/{driver.d-1f73a4a9.d.ts → driver.d-526bb7cb.d.ts} +1 -1
- package/{driver.d-0158cd93.d.ts → driver.d-858634da.d.ts} +1 -1
- package/{driver.d-f4b5b390.d.ts → driver.d-8e70cd6f.d.ts} +1 -1
- package/{driver.d-5f3fc125.d.ts → driver.d-95363f1a.d.ts} +1 -1
- package/{driver.d-6c43e393.d.ts → driver.d-95f6b950.d.ts} +1 -1
- package/{driver.d-2e907d12.d.ts → driver.d-9768329f.d.ts} +1 -1
- package/{driver.d-b00fc6ec.d.ts → driver.d-985f318c.d.ts} +2 -3
- package/{driver.d-59580d08.d.ts → driver.d-c79defcd.d.ts} +1 -1
- package/{driver.d-3a8adf2a.d.ts → driver.d-f63d5a57.d.ts} +1 -1
- package/{driver.d-3781598a.d.ts → driver.d-fd3bd023.d.ts} +1 -1
- package/libsql/index.d.ts +2 -2
- package/libsql/migrator.d.ts +2 -2
- package/mysql-core/index.cjs +1 -1
- package/mysql-core/index.cjs.map +1 -1
- package/mysql-core/index.d.ts +345 -345
- package/mysql-core/index.mjs +1 -1
- package/mysql-core/index.mjs.map +1 -1
- package/mysql2/index.d.ts +2 -2
- package/mysql2/migrator.d.ts +2 -2
- package/neon-serverless/index.d.ts +2 -2
- package/neon-serverless/migrator.d.ts +2 -2
- package/node-postgres/index.cjs +1 -1
- package/node-postgres/index.cjs.map +1 -1
- package/node-postgres/index.d.ts +2 -2
- package/node-postgres/index.mjs +1 -1
- package/node-postgres/index.mjs.map +1 -1
- package/node-postgres/migrator.d.ts +2 -2
- package/package.json +97 -33
- package/pg-core/index.cjs +1 -1
- package/pg-core/index.cjs.map +1 -1
- package/pg-core/index.d.ts +3 -3
- package/pg-core/index.mjs +1 -1
- package/planetscale-serverless/index.d.ts +2 -2
- package/planetscale-serverless/migrator.d.ts +2 -2
- package/postgres-js/index.d.ts +2 -2
- package/postgres-js/migrator.d.ts +2 -2
- package/{select.types.d-adb82002.d.ts → select.types.d-ffd2e526.d.ts} +2 -2
- package/sql-js/index.d.ts +2 -2
- package/sql-js/migrator.d.ts +2 -2
- package/sqlite-core/index.cjs +1 -1
- package/sqlite-core/index.cjs.map +1 -1
- package/sqlite-core/index.d.ts +3 -3
- package/sqlite-core/index.mjs +1 -1
- package/sqlite-proxy/index.d.ts +3 -3
- package/sqlite-proxy/migrator.d.ts +2 -2
- package/version.cjs +1 -1
- package/version.d.ts +1 -1
- package/version.mjs +1 -1
package/mysql-core/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { M as MySqlColumnBuilderWithAutoIncrement, a as MySqlColumnWithAutoIncrement, b as MySqlColumnBuilder, c as MySqlColumn, A as AnyMySqlTable, B as BuildAliasTable, d as MySqlTableFn, m as mysqlView, e as AnyMySqlColumn, I as Index, F as ForeignKey, C as Check, P as PrimaryKey, f as MySqlView } from '../select.types.d-
|
|
2
|
-
export {
|
|
3
|
-
import { j as ColumnBuilderHKTBase, aj as Assume, h as ColumnBuilderBaseConfig, d as ColumnHKTBase, C as ColumnBaseConfig, W as WithEnum, aq as Writable,
|
|
1
|
+
import { M as MySqlColumnBuilderWithAutoIncrement, a as MySqlColumnWithAutoIncrement, b as MySqlColumnBuilder, c as MySqlColumn, A as AnyMySqlTable, B as BuildAliasTable, d as MySqlTableFn, m as mysqlView, e as AnyMySqlColumn, I as Index, F as ForeignKey, C as Check, P as PrimaryKey, f as MySqlView } from '../select.types.d-ffd2e526.js';
|
|
2
|
+
export { r as AnyForeignKeyBuilder, v as AnyIndexBuilder, k as AnyMySqlColumnBuilder, L as AnyMySqlInsertConfig, Y as AnyMySqlSelect, g as CheckBuilder, q as ForeignKeyBuilder, G as GetColumnsTable, x as GetColumnsTableName, w as IndexBuilder, u as IndexBuilderOn, t as IndexColumn, _ as JoinFn, X as JoinsValue, a3 as LockConfig, a2 as LockStrength, ay as ManualViewBuilder, i as MySqlColumnBuilderHKT, j as MySqlColumnHKT, l as MySqlColumnWithAutoIncrementConfig, n as MySqlDatabase, J as MySqlDelete, H as MySqlDeleteConfig, o as MySqlDialect, Q as MySqlInsert, O as MySqlInsertBuilder, K as MySqlInsertConfig, N as MySqlInsertValue, W as MySqlSelect, T as MySqlSelectBuilder, Z as MySqlSelectConfig, a7 as MySqlSelectHKT, a4 as MySqlSelectHKTBase, a5 as MySqlSelectKind, V as MySqlSelectQueryBuilder, a6 as MySqlSelectQueryBuilderHKT, aj as MySqlSession, aq as MySqlTable, ao as MySqlTableExtraConfig, ar as MySqlTableWithColumns, ak as MySqlTransaction, ai as MySqlTransactionConfig, ab as MySqlUpdate, aa as MySqlUpdateBuilder, a8 as MySqlUpdateConfig, a9 as MySqlUpdateSetSource, az as MySqlViewBase, aA as MySqlViewConfig, aB as MySqlViewWithSelection, ah as PreparedQuery, ae as PreparedQueryConfig, af as PreparedQueryHKT, al as PreparedQueryHKTBase, ag as PreparedQueryKind, E as PrimaryKeyBuilder, S as QueryBuilder, ac as QueryResultHKT, ad as QueryResultKind, p as Reference, R as ReferenceConfig, a0 as SelectedFields, $ as SelectedFieldsFlat, a1 as SelectedFieldsOrdered, am as SubqueryWithSelection, ap as TableConfig, U as UpdateDeleteAction, ax as ViewBuilder, av as ViewBuilderConfig, aw as ViewBuilderCore, an as WithSubqueryWithSelection, h as check, s as foreignKey, y as index, at as mysqlTable, au as mysqlTableCreator, as as mysqlTableWithSchema, D as primaryKey, z as uniqueIndex } from '../select.types.d-ffd2e526.js';
|
|
3
|
+
import { j as ColumnBuilderHKTBase, aj as Assume, h as ColumnBuilderBaseConfig, d as ColumnHKTBase, C as ColumnBaseConfig, W as WithEnum, aq as Writable, ai as Simplify, ak as Equal, S as SQL, k as ColumnBuilderKind, p as UpdateCBConfig, u as SelectedFields, A as AnyColumn, T as Table, a8 as TableConfig } from '../column.d-8b137277.js';
|
|
4
4
|
import '../select.types.d-c3e86d45.js';
|
|
5
5
|
import 'mysql2/promise';
|
|
6
6
|
import '../migrator.js';
|
|
@@ -78,6 +78,28 @@ interface MySqlBinaryConfig {
|
|
|
78
78
|
}
|
|
79
79
|
declare function binary<TName extends string>(name: TName, config?: MySqlBinaryConfig): MySqlBinaryBuilderInitial<TName>;
|
|
80
80
|
|
|
81
|
+
interface MySqlBooleanBuilderHKT extends ColumnBuilderHKTBase {
|
|
82
|
+
_type: MySqlBooleanBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
83
|
+
_columnHKT: MySqlBooleanHKT;
|
|
84
|
+
}
|
|
85
|
+
interface MySqlBooleanHKT extends ColumnHKTBase {
|
|
86
|
+
_type: MySqlBoolean<Assume<this['config'], ColumnBaseConfig>>;
|
|
87
|
+
}
|
|
88
|
+
type MySqlBooleanBuilderInitial<TName extends string> = MySqlBooleanBuilder<{
|
|
89
|
+
name: TName;
|
|
90
|
+
data: boolean;
|
|
91
|
+
driverParam: number | boolean;
|
|
92
|
+
notNull: false;
|
|
93
|
+
hasDefault: false;
|
|
94
|
+
}>;
|
|
95
|
+
declare class MySqlBooleanBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilder<MySqlBooleanBuilderHKT, T> {
|
|
96
|
+
}
|
|
97
|
+
declare class MySqlBoolean<T extends ColumnBaseConfig> extends MySqlColumn<MySqlBooleanHKT, T> {
|
|
98
|
+
getSQLType(): string;
|
|
99
|
+
mapFromDriverValue(value: number | boolean): boolean;
|
|
100
|
+
}
|
|
101
|
+
declare function boolean<TName extends string>(name: TName): MySqlBooleanBuilderInitial<TName>;
|
|
102
|
+
|
|
81
103
|
interface MySqlCharBuilderHKT extends ColumnBuilderHKTBase {
|
|
82
104
|
_type: MySqlCharBuilder<Assume<this['config'], ColumnBuilderBaseConfig & WithEnum>>;
|
|
83
105
|
_columnHKT: MySqlCharHKT;
|
|
@@ -107,27 +129,254 @@ interface MySqlCharConfig<TEnum extends readonly string[] | string[]> {
|
|
|
107
129
|
}
|
|
108
130
|
declare function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config?: MySqlCharConfig<T | Writable<T>>): MySqlCharBuilderInitial<TName, Writable<T>>;
|
|
109
131
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
132
|
+
type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> = Simplify<{
|
|
133
|
+
name: TName;
|
|
134
|
+
data: T['data'];
|
|
135
|
+
driverParam: T['driverData'];
|
|
136
|
+
notNull: T['notNull'] extends true ? true : false;
|
|
137
|
+
hasDefault: T['default'] extends true ? true : false;
|
|
138
|
+
}>;
|
|
139
|
+
interface MySqlCustomColumnInnerConfig {
|
|
140
|
+
customTypeValues: CustomTypeValues;
|
|
113
141
|
}
|
|
114
|
-
interface
|
|
115
|
-
_type:
|
|
142
|
+
interface MySqlCustomColumnBuilderHKT extends ColumnBuilderHKTBase {
|
|
143
|
+
_type: MySqlCustomColumnBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
144
|
+
_columnHKT: MySqlCustomColumnHKT;
|
|
116
145
|
}
|
|
117
|
-
|
|
146
|
+
interface MySqlCustomColumnHKT extends ColumnHKTBase {
|
|
147
|
+
_type: MySqlCustomColumn<Assume<this['config'], ColumnBaseConfig>>;
|
|
148
|
+
}
|
|
149
|
+
declare class MySqlCustomColumnBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilder<MySqlCustomColumnBuilderHKT, T, {
|
|
150
|
+
fieldConfig: CustomTypeValues['config'];
|
|
151
|
+
customTypeParams: CustomTypeParams<any>;
|
|
152
|
+
}, {
|
|
153
|
+
mysqlColumnBuilderBrand: 'MySqlCustomColumnBuilderBrand';
|
|
154
|
+
}> {
|
|
155
|
+
constructor(name: T['name'], fieldConfig: CustomTypeValues['config'], customTypeParams: CustomTypeParams<any>);
|
|
156
|
+
}
|
|
157
|
+
declare class MySqlCustomColumn<T extends ColumnBaseConfig> extends MySqlColumn<MySqlCustomColumnHKT, T> {
|
|
158
|
+
protected $mysqlColumnBrand: 'MySqlCustomColumn';
|
|
159
|
+
private sqlName;
|
|
160
|
+
private mapTo?;
|
|
161
|
+
private mapFrom?;
|
|
162
|
+
constructor(table: AnyMySqlTable<{
|
|
163
|
+
name: T['tableName'];
|
|
164
|
+
}>, config: MySqlCustomColumnBuilder<T>['config']);
|
|
165
|
+
getSQLType(): string;
|
|
166
|
+
mapFromDriverValue(value: T['driverParam']): T['data'];
|
|
167
|
+
mapToDriverValue(value: T['data']): T['driverParam'];
|
|
168
|
+
}
|
|
169
|
+
type CustomTypeValues = {
|
|
170
|
+
/**
|
|
171
|
+
* Required type for custom column, that will infer proper type model
|
|
172
|
+
*
|
|
173
|
+
* Examples:
|
|
174
|
+
*
|
|
175
|
+
* If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`
|
|
176
|
+
*
|
|
177
|
+
* If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`
|
|
178
|
+
*/
|
|
179
|
+
data: unknown;
|
|
180
|
+
/**
|
|
181
|
+
* Type helper, that represents what type database driver is accepting for specific database data type
|
|
182
|
+
*/
|
|
183
|
+
driverData?: unknown;
|
|
184
|
+
/**
|
|
185
|
+
* What config type should be used for {@link CustomTypeParams} `dataType` generation
|
|
186
|
+
*/
|
|
187
|
+
config?: unknown;
|
|
188
|
+
/**
|
|
189
|
+
* Whether the config argument should be required or not
|
|
190
|
+
* @default false
|
|
191
|
+
*/
|
|
192
|
+
configRequired?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* If your custom data type should be notNull by default you can use `notNull: true`
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* const customSerial = customType<{ data: number, notNull: true, default: true }>({
|
|
198
|
+
* dataType() {
|
|
199
|
+
* return 'serial';
|
|
200
|
+
* },
|
|
201
|
+
* });
|
|
202
|
+
*/
|
|
203
|
+
notNull?: boolean;
|
|
204
|
+
/**
|
|
205
|
+
* If your custom data type has default you can use `default: true`
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* const customSerial = customType<{ data: number, notNull: true, default: true }>({
|
|
209
|
+
* dataType() {
|
|
210
|
+
* return 'serial';
|
|
211
|
+
* },
|
|
212
|
+
* });
|
|
213
|
+
*/
|
|
214
|
+
default?: boolean;
|
|
215
|
+
};
|
|
216
|
+
interface CustomTypeParams<T extends CustomTypeValues> {
|
|
217
|
+
/**
|
|
218
|
+
* Database data type string representation, that is used for migrations
|
|
219
|
+
* @example
|
|
220
|
+
* ```
|
|
221
|
+
* `jsonb`, `text`
|
|
222
|
+
* ```
|
|
223
|
+
*
|
|
224
|
+
* If database data type needs additional params you can use them from `config` param
|
|
225
|
+
* @example
|
|
226
|
+
* ```
|
|
227
|
+
* `varchar(256)`, `numeric(2,3)`
|
|
228
|
+
* ```
|
|
229
|
+
*
|
|
230
|
+
* To make `config` be of specific type please use config generic in {@link CustomTypeValues}
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* Usage example
|
|
234
|
+
* ```
|
|
235
|
+
* dataType() {
|
|
236
|
+
* return 'boolean';
|
|
237
|
+
* },
|
|
238
|
+
* ```
|
|
239
|
+
* Or
|
|
240
|
+
* ```
|
|
241
|
+
* dataType(config) {
|
|
242
|
+
* return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;
|
|
243
|
+
* }
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
246
|
+
dataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;
|
|
247
|
+
/**
|
|
248
|
+
* Optional mapping function, between user input and driver
|
|
249
|
+
* @example
|
|
250
|
+
* For example, when using jsonb we need to map JS/TS object to string before writing to database
|
|
251
|
+
* ```
|
|
252
|
+
* toDriver(value: TData): string {
|
|
253
|
+
* return JSON.stringify(value);
|
|
254
|
+
* }
|
|
255
|
+
* ```
|
|
256
|
+
*/
|
|
257
|
+
toDriver?: (value: T['data']) => T['driverData'] | SQL;
|
|
258
|
+
/**
|
|
259
|
+
* Optional mapping function, that is responsible for data mapping from database to JS/TS code
|
|
260
|
+
* @example
|
|
261
|
+
* For example, when using timestamp we need to map string Date representation to JS Date
|
|
262
|
+
* ```
|
|
263
|
+
* fromDriver(value: string): Date {
|
|
264
|
+
* return new Date(value);
|
|
265
|
+
* },
|
|
266
|
+
* ```
|
|
267
|
+
*/
|
|
268
|
+
fromDriver?: (value: T['driverData']) => T['data'];
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Custom mysql database data type generator
|
|
272
|
+
*/
|
|
273
|
+
declare function customType<T extends CustomTypeValues = CustomTypeValues>(customTypeParams: CustomTypeParams<T>): Equal<T['configRequired'], true> extends true ? <TName extends string>(dbName: TName, fieldConfig: T['config']) => MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>> : <TName extends string>(dbName: TName, fieldConfig?: T['config']) => MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
|
|
274
|
+
|
|
275
|
+
interface MySqlDateBuilderHKT extends ColumnBuilderHKTBase {
|
|
276
|
+
_type: MySqlDateBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
277
|
+
_columnHKT: MySqlDateHKT;
|
|
278
|
+
}
|
|
279
|
+
interface MySqlDateHKT extends ColumnHKTBase {
|
|
280
|
+
_type: MySqlDate<Assume<this['config'], ColumnBaseConfig>>;
|
|
281
|
+
}
|
|
282
|
+
type MySqlDateBuilderInitial<TName extends string> = MySqlDateBuilder<{
|
|
118
283
|
name: TName;
|
|
119
|
-
data:
|
|
120
|
-
driverParam:
|
|
284
|
+
data: Date;
|
|
285
|
+
driverParam: string | number;
|
|
121
286
|
notNull: false;
|
|
122
287
|
hasDefault: false;
|
|
123
288
|
}>;
|
|
124
|
-
declare class
|
|
289
|
+
declare class MySqlDateBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilder<MySqlDateBuilderHKT, T> {
|
|
125
290
|
}
|
|
126
|
-
declare class
|
|
291
|
+
declare class MySqlDate<T extends ColumnBaseConfig> extends MySqlColumn<MySqlDateHKT, T> {
|
|
292
|
+
constructor(table: AnyMySqlTable<{
|
|
293
|
+
name: T['tableName'];
|
|
294
|
+
}>, config: MySqlDateBuilder<T>['config']);
|
|
127
295
|
getSQLType(): string;
|
|
128
|
-
mapFromDriverValue(value:
|
|
296
|
+
mapFromDriverValue(value: string): Date;
|
|
129
297
|
}
|
|
130
|
-
|
|
298
|
+
interface MySqlDateStringBuilderHKT extends ColumnBuilderHKTBase {
|
|
299
|
+
_type: MySqlDateStringBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
300
|
+
_columnHKT: MySqlDateStringHKT;
|
|
301
|
+
}
|
|
302
|
+
interface MySqlDateStringHKT extends ColumnHKTBase {
|
|
303
|
+
_type: MySqlDateString<Assume<this['config'], ColumnBaseConfig>>;
|
|
304
|
+
}
|
|
305
|
+
type MySqlDateStringBuilderInitial<TName extends string> = MySqlDateStringBuilder<{
|
|
306
|
+
name: TName;
|
|
307
|
+
data: string;
|
|
308
|
+
driverParam: string | number;
|
|
309
|
+
notNull: false;
|
|
310
|
+
hasDefault: false;
|
|
311
|
+
}>;
|
|
312
|
+
declare class MySqlDateStringBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilder<MySqlDateStringBuilderHKT, T> {
|
|
313
|
+
}
|
|
314
|
+
declare class MySqlDateString<T extends ColumnBaseConfig> extends MySqlColumn<MySqlDateStringHKT, T> {
|
|
315
|
+
constructor(table: AnyMySqlTable<{
|
|
316
|
+
name: T['tableName'];
|
|
317
|
+
}>, config: MySqlDateStringBuilder<T>['config']);
|
|
318
|
+
getSQLType(): string;
|
|
319
|
+
}
|
|
320
|
+
interface MySqlDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {
|
|
321
|
+
mode?: TMode;
|
|
322
|
+
}
|
|
323
|
+
declare function date<TName extends string, TMode extends MySqlDateConfig['mode'] & {}>(name: TName, config?: MySqlDateConfig<TMode>): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilderInitial<TName> : MySqlDateBuilderInitial<TName>;
|
|
324
|
+
|
|
325
|
+
interface MySqlDateTimeBuilderHKT extends ColumnBuilderHKTBase {
|
|
326
|
+
_type: MySqlDateTimeBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
327
|
+
_columnHKT: MySqlDateTimeHKT;
|
|
328
|
+
}
|
|
329
|
+
interface MySqlDateTimeHKT extends ColumnHKTBase {
|
|
330
|
+
_type: MySqlDateTime<Assume<this['config'], ColumnBaseConfig>>;
|
|
331
|
+
}
|
|
332
|
+
type MySqlDateTimeBuilderInitial<TName extends string> = MySqlDateTimeBuilder<{
|
|
333
|
+
name: TName;
|
|
334
|
+
data: Date;
|
|
335
|
+
driverParam: string | number;
|
|
336
|
+
notNull: false;
|
|
337
|
+
hasDefault: false;
|
|
338
|
+
}>;
|
|
339
|
+
declare class MySqlDateTimeBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilder<MySqlDateTimeBuilderHKT, T, MySqlDatetimeConfig> {
|
|
340
|
+
constructor(name: T['name'], config: MySqlDatetimeConfig | undefined);
|
|
341
|
+
}
|
|
342
|
+
declare class MySqlDateTime<T extends ColumnBaseConfig> extends MySqlColumn<MySqlDateTimeHKT, T> {
|
|
343
|
+
readonly fsp: number | undefined;
|
|
344
|
+
constructor(table: AnyMySqlTable<{
|
|
345
|
+
name: T['tableName'];
|
|
346
|
+
}>, config: MySqlDateTimeBuilder<T>['config']);
|
|
347
|
+
getSQLType(): string;
|
|
348
|
+
mapFromDriverValue(value: string): Date;
|
|
349
|
+
}
|
|
350
|
+
interface MySqlDateTimeStringBuilderHKT extends ColumnBuilderHKTBase {
|
|
351
|
+
_type: MySqlDateTimeStringBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
352
|
+
_columnHKT: MySqlDateTimeStringHKT;
|
|
353
|
+
}
|
|
354
|
+
interface MySqlDateTimeStringHKT extends ColumnHKTBase {
|
|
355
|
+
_type: MySqlDateTimeString<Assume<this['config'], ColumnBaseConfig>>;
|
|
356
|
+
}
|
|
357
|
+
type MySqlDateTimeStringBuilderInitial<TName extends string> = MySqlDateTimeStringBuilder<{
|
|
358
|
+
name: TName;
|
|
359
|
+
data: string;
|
|
360
|
+
driverParam: string | number;
|
|
361
|
+
notNull: false;
|
|
362
|
+
hasDefault: false;
|
|
363
|
+
}>;
|
|
364
|
+
declare class MySqlDateTimeStringBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilder<MySqlDateTimeStringBuilderHKT, T, MySqlDatetimeConfig> {
|
|
365
|
+
constructor(name: T['name'], config: MySqlDatetimeConfig | undefined);
|
|
366
|
+
}
|
|
367
|
+
declare class MySqlDateTimeString<T extends ColumnBaseConfig> extends MySqlColumn<MySqlDateTimeStringHKT, T> {
|
|
368
|
+
readonly fsp: number | undefined;
|
|
369
|
+
constructor(table: AnyMySqlTable<{
|
|
370
|
+
name: T['tableName'];
|
|
371
|
+
}>, config: MySqlDateTimeStringBuilder<T>['config']);
|
|
372
|
+
getSQLType(): string;
|
|
373
|
+
}
|
|
374
|
+
type DatetimeFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
375
|
+
interface MySqlDatetimeConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {
|
|
376
|
+
mode?: TMode;
|
|
377
|
+
fsp?: DatetimeFsp;
|
|
378
|
+
}
|
|
379
|
+
declare function datetime<TName extends string, TMode extends MySqlDatetimeConfig['mode'] & {}>(name: TName, config?: MySqlDatetimeConfig<TMode>): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilderInitial<TName> : MySqlDateTimeBuilderInitial<TName>;
|
|
131
380
|
|
|
132
381
|
interface MySqlDecimalBuilderHKT extends ColumnBuilderHKTBase {
|
|
133
382
|
_type: MySqlDecimalBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
@@ -408,6 +657,32 @@ declare function tinytext<TName extends string, U extends string, T extends Read
|
|
|
408
657
|
declare function mediumtext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config?: MySqlTextConfig<T | Writable<T>>): MySqlTextBuilderInitial<TName, Writable<T>>;
|
|
409
658
|
declare function longtext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config?: MySqlTextConfig<T | Writable<T>>): MySqlTextBuilderInitial<TName, Writable<T>>;
|
|
410
659
|
|
|
660
|
+
interface MySqlTimeBuilderHKT extends ColumnBuilderHKTBase {
|
|
661
|
+
_type: MySqlTimeBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
662
|
+
_columnHKT: MySqlTimeHKT;
|
|
663
|
+
}
|
|
664
|
+
interface MySqlTimeHKT extends ColumnHKTBase {
|
|
665
|
+
_type: MySqlTime<Assume<this['config'], ColumnBaseConfig>>;
|
|
666
|
+
}
|
|
667
|
+
type MySqlTimeBuilderInitial<TName extends string> = MySqlTimeBuilder<{
|
|
668
|
+
name: TName;
|
|
669
|
+
data: string;
|
|
670
|
+
driverParam: string | number;
|
|
671
|
+
notNull: false;
|
|
672
|
+
hasDefault: false;
|
|
673
|
+
}>;
|
|
674
|
+
declare class MySqlTimeBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilder<MySqlTimeBuilderHKT, T, TimeConfig> {
|
|
675
|
+
constructor(name: T['name'], config: TimeConfig | undefined);
|
|
676
|
+
}
|
|
677
|
+
declare class MySqlTime<T extends ColumnBaseConfig> extends MySqlColumn<MySqlTimeHKT, T, TimeConfig> {
|
|
678
|
+
readonly fsp: number | undefined;
|
|
679
|
+
getSQLType(): string;
|
|
680
|
+
}
|
|
681
|
+
type TimeConfig = {
|
|
682
|
+
fsp?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
683
|
+
};
|
|
684
|
+
declare function time<TName extends string>(name: TName, config?: TimeConfig): MySqlTimeBuilderInitial<TName>;
|
|
685
|
+
|
|
411
686
|
interface MySqlDateColumnBaseConfig {
|
|
412
687
|
hasOnUpdateNow: boolean;
|
|
413
688
|
}
|
|
@@ -451,235 +726,103 @@ interface MySqlTimestampStringBuilderHKT extends ColumnBuilderHKTBase {
|
|
|
451
726
|
_columnHKT: MySqlTimestampStringHKT;
|
|
452
727
|
}
|
|
453
728
|
interface MySqlTimestampStringHKT extends ColumnHKTBase {
|
|
454
|
-
_type: MySqlTimestampString<Assume<this['config'], ColumnBaseConfig>>;
|
|
455
|
-
}
|
|
456
|
-
type MySqlTimestampStringBuilderInitial<TName extends string> = MySqlTimestampStringBuilder<{
|
|
457
|
-
name: TName;
|
|
458
|
-
data: string;
|
|
459
|
-
driverParam: string | number;
|
|
460
|
-
notNull: false;
|
|
461
|
-
hasDefault: false;
|
|
462
|
-
}>;
|
|
463
|
-
declare class MySqlTimestampStringBuilder<T extends ColumnBuilderBaseConfig> extends MySqlDateColumnBaseBuilder<MySqlTimestampStringBuilderHKT, T, MySqlTimestampConfig> {
|
|
464
|
-
constructor(name: T['name'], config: MySqlTimestampConfig | undefined);
|
|
465
|
-
}
|
|
466
|
-
declare class MySqlTimestampString<T extends ColumnBaseConfig> extends MySqlDateBaseColumn<MySqlTimestampStringHKT, T, MySqlTimestampConfig> {
|
|
467
|
-
readonly fsp: number | undefined;
|
|
468
|
-
getSQLType(): string;
|
|
469
|
-
}
|
|
470
|
-
type TimestampFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
471
|
-
interface MySqlTimestampConfig<TMode extends 'string' | 'date' = 'string' | 'date'> {
|
|
472
|
-
mode?: TMode;
|
|
473
|
-
fsp?: TimestampFsp;
|
|
474
|
-
}
|
|
475
|
-
declare function timestamp<TName extends string, TMode extends MySqlTimestampConfig['mode'] & {}>(name: TName, config?: MySqlTimestampConfig<TMode>): Equal<TMode, 'string'> extends true ? MySqlTimestampStringBuilderInitial<TName> : MySqlTimestampBuilderInitial<TName>;
|
|
476
|
-
|
|
477
|
-
interface MySqlTinyIntBuilderHKT extends ColumnBuilderHKTBase {
|
|
478
|
-
_type: MySqlTinyIntBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
479
|
-
_columnHKT: MySqlTinyIntHKT;
|
|
480
|
-
}
|
|
481
|
-
interface MySqlTinyIntHKT extends ColumnHKTBase {
|
|
482
|
-
_type: MySqlTinyInt<Assume<this['config'], ColumnBaseConfig>>;
|
|
483
|
-
}
|
|
484
|
-
type MySqlTinyIntBuilderInitial<TName extends string> = MySqlTinyIntBuilder<{
|
|
485
|
-
name: TName;
|
|
486
|
-
data: number;
|
|
487
|
-
driverParam: number | string;
|
|
488
|
-
notNull: false;
|
|
489
|
-
hasDefault: false;
|
|
490
|
-
}>;
|
|
491
|
-
declare class MySqlTinyIntBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilderWithAutoIncrement<MySqlTinyIntBuilderHKT, T> {
|
|
492
|
-
}
|
|
493
|
-
declare class MySqlTinyInt<T extends ColumnBaseConfig> extends MySqlColumnWithAutoIncrement<MySqlTinyIntHKT, T> {
|
|
494
|
-
getSQLType(): string;
|
|
495
|
-
mapFromDriverValue(value: number | string): number;
|
|
496
|
-
}
|
|
497
|
-
declare function tinyint<TName extends string>(name: TName): MySqlTinyIntBuilderInitial<TName>;
|
|
498
|
-
|
|
499
|
-
interface MySqlVarBinaryBuilderHKT extends ColumnBuilderHKTBase {
|
|
500
|
-
_type: MySqlVarBinaryBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
501
|
-
_columnHKT: MySqlVarBinaryHKT;
|
|
502
|
-
}
|
|
503
|
-
interface MySqlVarBinaryHKT extends ColumnHKTBase {
|
|
504
|
-
_type: MySqlVarBinary<Assume<this['config'], ColumnBaseConfig>>;
|
|
505
|
-
}
|
|
506
|
-
type MySqlVarBinaryBuilderInitial<TName extends string> = MySqlVarBinaryBuilder<{
|
|
507
|
-
name: TName;
|
|
508
|
-
data: string;
|
|
509
|
-
driverParam: string;
|
|
510
|
-
notNull: false;
|
|
511
|
-
hasDefault: false;
|
|
512
|
-
}>;
|
|
513
|
-
declare class MySqlVarBinaryBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilder<MySqlVarBinaryBuilderHKT, T, MySqlVarbinaryOptions> {
|
|
514
|
-
}
|
|
515
|
-
declare class MySqlVarBinary<T extends ColumnBaseConfig> extends MySqlColumn<MySqlVarBinaryHKT, T, MySqlVarbinaryOptions> {
|
|
516
|
-
length: number | undefined;
|
|
517
|
-
getSQLType(): string;
|
|
518
|
-
}
|
|
519
|
-
interface MySqlVarbinaryOptions {
|
|
520
|
-
length: number;
|
|
521
|
-
}
|
|
522
|
-
declare function varbinary<TName extends string>(name: TName, options: MySqlVarbinaryOptions): MySqlVarBinaryBuilderInitial<TName>;
|
|
523
|
-
|
|
524
|
-
interface MySqlVarCharBuilderHKT extends ColumnBuilderHKTBase {
|
|
525
|
-
_type: MySqlVarCharBuilder<Assume<this['config'], ColumnBuilderBaseConfig & WithEnum>>;
|
|
526
|
-
_columnHKT: MySqlVarCharHKT;
|
|
527
|
-
}
|
|
528
|
-
interface MySqlVarCharHKT extends ColumnHKTBase {
|
|
529
|
-
_type: MySqlVarChar<Assume<this['config'], ColumnBaseConfig & WithEnum>>;
|
|
530
|
-
}
|
|
531
|
-
type MySqlVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = MySqlVarCharBuilder<{
|
|
532
|
-
name: TName;
|
|
533
|
-
data: TEnum[number];
|
|
534
|
-
driverParam: number | string;
|
|
535
|
-
enumValues: TEnum;
|
|
536
|
-
notNull: false;
|
|
537
|
-
hasDefault: false;
|
|
538
|
-
}>;
|
|
539
|
-
declare class MySqlVarCharBuilder<T extends ColumnBuilderBaseConfig & WithEnum> extends MySqlColumnBuilder<MySqlVarCharBuilderHKT, T, MySqlVarCharConfig<T['enumValues']>> {
|
|
540
|
-
}
|
|
541
|
-
declare class MySqlVarChar<T extends ColumnBaseConfig & WithEnum> extends MySqlColumn<MySqlVarCharHKT, T, MySqlVarCharConfig<T['enumValues']>> implements WithEnum {
|
|
542
|
-
readonly length: number | undefined;
|
|
543
|
-
readonly enumValues: T['enumValues'];
|
|
544
|
-
getSQLType(): string;
|
|
545
|
-
}
|
|
546
|
-
interface MySqlVarCharConfig<TEnum extends string[] | readonly string[]> {
|
|
547
|
-
length: number;
|
|
548
|
-
enum?: TEnum;
|
|
549
|
-
}
|
|
550
|
-
declare function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config: MySqlVarCharConfig<T | Writable<T>>): MySqlVarCharBuilderInitial<TName, Writable<T>>;
|
|
551
|
-
|
|
552
|
-
interface MySqlDateBuilderHKT extends ColumnBuilderHKTBase {
|
|
553
|
-
_type: MySqlDateBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
554
|
-
_columnHKT: MySqlDateHKT;
|
|
555
|
-
}
|
|
556
|
-
interface MySqlDateHKT extends ColumnHKTBase {
|
|
557
|
-
_type: MySqlDate<Assume<this['config'], ColumnBaseConfig>>;
|
|
558
|
-
}
|
|
559
|
-
type MySqlDateBuilderInitial<TName extends string> = MySqlDateBuilder<{
|
|
560
|
-
name: TName;
|
|
561
|
-
data: Date;
|
|
562
|
-
driverParam: string | number;
|
|
563
|
-
notNull: false;
|
|
564
|
-
hasDefault: false;
|
|
565
|
-
}>;
|
|
566
|
-
declare class MySqlDateBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilder<MySqlDateBuilderHKT, T> {
|
|
567
|
-
}
|
|
568
|
-
declare class MySqlDate<T extends ColumnBaseConfig> extends MySqlColumn<MySqlDateHKT, T> {
|
|
569
|
-
constructor(table: AnyMySqlTable<{
|
|
570
|
-
name: T['tableName'];
|
|
571
|
-
}>, config: MySqlDateBuilder<T>['config']);
|
|
572
|
-
getSQLType(): string;
|
|
573
|
-
mapFromDriverValue(value: string): Date;
|
|
574
|
-
}
|
|
575
|
-
interface MySqlDateStringBuilderHKT extends ColumnBuilderHKTBase {
|
|
576
|
-
_type: MySqlDateStringBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
577
|
-
_columnHKT: MySqlDateStringHKT;
|
|
578
|
-
}
|
|
579
|
-
interface MySqlDateStringHKT extends ColumnHKTBase {
|
|
580
|
-
_type: MySqlDateString<Assume<this['config'], ColumnBaseConfig>>;
|
|
729
|
+
_type: MySqlTimestampString<Assume<this['config'], ColumnBaseConfig>>;
|
|
581
730
|
}
|
|
582
|
-
type
|
|
731
|
+
type MySqlTimestampStringBuilderInitial<TName extends string> = MySqlTimestampStringBuilder<{
|
|
583
732
|
name: TName;
|
|
584
733
|
data: string;
|
|
585
734
|
driverParam: string | number;
|
|
586
735
|
notNull: false;
|
|
587
736
|
hasDefault: false;
|
|
588
737
|
}>;
|
|
589
|
-
declare class
|
|
738
|
+
declare class MySqlTimestampStringBuilder<T extends ColumnBuilderBaseConfig> extends MySqlDateColumnBaseBuilder<MySqlTimestampStringBuilderHKT, T, MySqlTimestampConfig> {
|
|
739
|
+
constructor(name: T['name'], config: MySqlTimestampConfig | undefined);
|
|
590
740
|
}
|
|
591
|
-
declare class
|
|
592
|
-
|
|
593
|
-
name: T['tableName'];
|
|
594
|
-
}>, config: MySqlDateStringBuilder<T>['config']);
|
|
741
|
+
declare class MySqlTimestampString<T extends ColumnBaseConfig> extends MySqlDateBaseColumn<MySqlTimestampStringHKT, T, MySqlTimestampConfig> {
|
|
742
|
+
readonly fsp: number | undefined;
|
|
595
743
|
getSQLType(): string;
|
|
596
744
|
}
|
|
597
|
-
|
|
745
|
+
type TimestampFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
746
|
+
interface MySqlTimestampConfig<TMode extends 'string' | 'date' = 'string' | 'date'> {
|
|
598
747
|
mode?: TMode;
|
|
748
|
+
fsp?: TimestampFsp;
|
|
599
749
|
}
|
|
600
|
-
declare function
|
|
750
|
+
declare function timestamp<TName extends string, TMode extends MySqlTimestampConfig['mode'] & {}>(name: TName, config?: MySqlTimestampConfig<TMode>): Equal<TMode, 'string'> extends true ? MySqlTimestampStringBuilderInitial<TName> : MySqlTimestampBuilderInitial<TName>;
|
|
601
751
|
|
|
602
|
-
interface
|
|
603
|
-
_type:
|
|
604
|
-
_columnHKT:
|
|
752
|
+
interface MySqlTinyIntBuilderHKT extends ColumnBuilderHKTBase {
|
|
753
|
+
_type: MySqlTinyIntBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
754
|
+
_columnHKT: MySqlTinyIntHKT;
|
|
605
755
|
}
|
|
606
|
-
interface
|
|
607
|
-
_type:
|
|
756
|
+
interface MySqlTinyIntHKT extends ColumnHKTBase {
|
|
757
|
+
_type: MySqlTinyInt<Assume<this['config'], ColumnBaseConfig>>;
|
|
608
758
|
}
|
|
609
|
-
type
|
|
759
|
+
type MySqlTinyIntBuilderInitial<TName extends string> = MySqlTinyIntBuilder<{
|
|
610
760
|
name: TName;
|
|
611
|
-
data:
|
|
612
|
-
driverParam:
|
|
761
|
+
data: number;
|
|
762
|
+
driverParam: number | string;
|
|
613
763
|
notNull: false;
|
|
614
764
|
hasDefault: false;
|
|
615
765
|
}>;
|
|
616
|
-
declare class
|
|
617
|
-
constructor(name: T['name'], config: MySqlDatetimeConfig | undefined);
|
|
766
|
+
declare class MySqlTinyIntBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilderWithAutoIncrement<MySqlTinyIntBuilderHKT, T> {
|
|
618
767
|
}
|
|
619
|
-
declare class
|
|
620
|
-
readonly fsp: number | undefined;
|
|
621
|
-
constructor(table: AnyMySqlTable<{
|
|
622
|
-
name: T['tableName'];
|
|
623
|
-
}>, config: MySqlDateTimeBuilder<T>['config']);
|
|
768
|
+
declare class MySqlTinyInt<T extends ColumnBaseConfig> extends MySqlColumnWithAutoIncrement<MySqlTinyIntHKT, T> {
|
|
624
769
|
getSQLType(): string;
|
|
625
|
-
mapFromDriverValue(value: string):
|
|
770
|
+
mapFromDriverValue(value: number | string): number;
|
|
626
771
|
}
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
772
|
+
declare function tinyint<TName extends string>(name: TName): MySqlTinyIntBuilderInitial<TName>;
|
|
773
|
+
|
|
774
|
+
interface MySqlVarBinaryBuilderHKT extends ColumnBuilderHKTBase {
|
|
775
|
+
_type: MySqlVarBinaryBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
776
|
+
_columnHKT: MySqlVarBinaryHKT;
|
|
630
777
|
}
|
|
631
|
-
interface
|
|
632
|
-
_type:
|
|
778
|
+
interface MySqlVarBinaryHKT extends ColumnHKTBase {
|
|
779
|
+
_type: MySqlVarBinary<Assume<this['config'], ColumnBaseConfig>>;
|
|
633
780
|
}
|
|
634
|
-
type
|
|
781
|
+
type MySqlVarBinaryBuilderInitial<TName extends string> = MySqlVarBinaryBuilder<{
|
|
635
782
|
name: TName;
|
|
636
783
|
data: string;
|
|
637
|
-
driverParam: string
|
|
784
|
+
driverParam: string;
|
|
638
785
|
notNull: false;
|
|
639
786
|
hasDefault: false;
|
|
640
787
|
}>;
|
|
641
|
-
declare class
|
|
642
|
-
constructor(name: T['name'], config: MySqlDatetimeConfig | undefined);
|
|
788
|
+
declare class MySqlVarBinaryBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilder<MySqlVarBinaryBuilderHKT, T, MySqlVarbinaryOptions> {
|
|
643
789
|
}
|
|
644
|
-
declare class
|
|
645
|
-
|
|
646
|
-
constructor(table: AnyMySqlTable<{
|
|
647
|
-
name: T['tableName'];
|
|
648
|
-
}>, config: MySqlDateTimeStringBuilder<T>['config']);
|
|
790
|
+
declare class MySqlVarBinary<T extends ColumnBaseConfig> extends MySqlColumn<MySqlVarBinaryHKT, T, MySqlVarbinaryOptions> {
|
|
791
|
+
length: number | undefined;
|
|
649
792
|
getSQLType(): string;
|
|
650
793
|
}
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
mode?: TMode;
|
|
654
|
-
fsp?: DatetimeFsp;
|
|
794
|
+
interface MySqlVarbinaryOptions {
|
|
795
|
+
length: number;
|
|
655
796
|
}
|
|
656
|
-
declare function
|
|
797
|
+
declare function varbinary<TName extends string>(name: TName, options: MySqlVarbinaryOptions): MySqlVarBinaryBuilderInitial<TName>;
|
|
657
798
|
|
|
658
|
-
interface
|
|
659
|
-
_type:
|
|
660
|
-
_columnHKT:
|
|
799
|
+
interface MySqlVarCharBuilderHKT extends ColumnBuilderHKTBase {
|
|
800
|
+
_type: MySqlVarCharBuilder<Assume<this['config'], ColumnBuilderBaseConfig & WithEnum>>;
|
|
801
|
+
_columnHKT: MySqlVarCharHKT;
|
|
661
802
|
}
|
|
662
|
-
interface
|
|
663
|
-
_type:
|
|
803
|
+
interface MySqlVarCharHKT extends ColumnHKTBase {
|
|
804
|
+
_type: MySqlVarChar<Assume<this['config'], ColumnBaseConfig & WithEnum>>;
|
|
664
805
|
}
|
|
665
|
-
type
|
|
806
|
+
type MySqlVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = MySqlVarCharBuilder<{
|
|
666
807
|
name: TName;
|
|
667
|
-
data:
|
|
668
|
-
driverParam:
|
|
808
|
+
data: TEnum[number];
|
|
809
|
+
driverParam: number | string;
|
|
810
|
+
enumValues: TEnum;
|
|
669
811
|
notNull: false;
|
|
670
812
|
hasDefault: false;
|
|
671
813
|
}>;
|
|
672
|
-
declare class
|
|
673
|
-
constructor(name: T['name'], config: TimeConfig | undefined);
|
|
814
|
+
declare class MySqlVarCharBuilder<T extends ColumnBuilderBaseConfig & WithEnum> extends MySqlColumnBuilder<MySqlVarCharBuilderHKT, T, MySqlVarCharConfig<T['enumValues']>> {
|
|
674
815
|
}
|
|
675
|
-
declare class
|
|
676
|
-
readonly
|
|
816
|
+
declare class MySqlVarChar<T extends ColumnBaseConfig & WithEnum> extends MySqlColumn<MySqlVarCharHKT, T, MySqlVarCharConfig<T['enumValues']>> implements WithEnum {
|
|
817
|
+
readonly length: number | undefined;
|
|
818
|
+
readonly enumValues: T['enumValues'];
|
|
677
819
|
getSQLType(): string;
|
|
678
820
|
}
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
821
|
+
interface MySqlVarCharConfig<TEnum extends string[] | readonly string[]> {
|
|
822
|
+
length: number;
|
|
823
|
+
enum?: TEnum;
|
|
824
|
+
}
|
|
825
|
+
declare function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config: MySqlVarCharConfig<T | Writable<T>>): MySqlVarCharBuilderInitial<TName, Writable<T>>;
|
|
683
826
|
|
|
684
827
|
interface MySqlYearBuilderHKT extends ColumnBuilderHKTBase {
|
|
685
828
|
_type: MySqlYearBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
@@ -702,149 +845,6 @@ declare class MySqlYear<T extends ColumnBaseConfig> extends MySqlColumn<MySqlYea
|
|
|
702
845
|
}
|
|
703
846
|
declare function year<TName extends string>(name: TName): MySqlYearBuilderInitial<TName>;
|
|
704
847
|
|
|
705
|
-
type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> = Simplify<{
|
|
706
|
-
name: TName;
|
|
707
|
-
data: T['data'];
|
|
708
|
-
driverParam: T['driverData'];
|
|
709
|
-
notNull: T['notNull'] extends true ? true : false;
|
|
710
|
-
hasDefault: T['default'] extends true ? true : false;
|
|
711
|
-
}>;
|
|
712
|
-
interface MySqlCustomColumnInnerConfig {
|
|
713
|
-
customTypeValues: CustomTypeValues;
|
|
714
|
-
}
|
|
715
|
-
interface MySqlCustomColumnBuilderHKT extends ColumnBuilderHKTBase {
|
|
716
|
-
_type: MySqlCustomColumnBuilder<Assume<this['config'], ColumnBuilderBaseConfig>>;
|
|
717
|
-
_columnHKT: MySqlCustomColumnHKT;
|
|
718
|
-
}
|
|
719
|
-
interface MySqlCustomColumnHKT extends ColumnHKTBase {
|
|
720
|
-
_type: MySqlCustomColumn<Assume<this['config'], ColumnBaseConfig>>;
|
|
721
|
-
}
|
|
722
|
-
declare class MySqlCustomColumnBuilder<T extends ColumnBuilderBaseConfig> extends MySqlColumnBuilder<MySqlCustomColumnBuilderHKT, T, {
|
|
723
|
-
fieldConfig: CustomTypeValues['config'];
|
|
724
|
-
customTypeParams: CustomTypeParams<any>;
|
|
725
|
-
}, {
|
|
726
|
-
mysqlColumnBuilderBrand: 'MySqlCustomColumnBuilderBrand';
|
|
727
|
-
}> {
|
|
728
|
-
constructor(name: T['name'], fieldConfig: CustomTypeValues['config'], customTypeParams: CustomTypeParams<any>);
|
|
729
|
-
}
|
|
730
|
-
declare class MySqlCustomColumn<T extends ColumnBaseConfig> extends MySqlColumn<MySqlCustomColumnHKT, T> {
|
|
731
|
-
protected $mysqlColumnBrand: 'MySqlCustomColumn';
|
|
732
|
-
private sqlName;
|
|
733
|
-
private mapTo?;
|
|
734
|
-
private mapFrom?;
|
|
735
|
-
constructor(table: AnyMySqlTable<{
|
|
736
|
-
name: T['tableName'];
|
|
737
|
-
}>, config: MySqlCustomColumnBuilder<T>['config']);
|
|
738
|
-
getSQLType(): string;
|
|
739
|
-
mapFromDriverValue(value: T['driverParam']): T['data'];
|
|
740
|
-
mapToDriverValue(value: T['data']): T['driverParam'];
|
|
741
|
-
}
|
|
742
|
-
type CustomTypeValues = {
|
|
743
|
-
/**
|
|
744
|
-
* Required type for custom column, that will infer proper type model
|
|
745
|
-
*
|
|
746
|
-
* Examples:
|
|
747
|
-
*
|
|
748
|
-
* If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`
|
|
749
|
-
*
|
|
750
|
-
* If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`
|
|
751
|
-
*/
|
|
752
|
-
data: unknown;
|
|
753
|
-
/**
|
|
754
|
-
* Type helper, that represents what type database driver is accepting for specific database data type
|
|
755
|
-
*/
|
|
756
|
-
driverData?: unknown;
|
|
757
|
-
/**
|
|
758
|
-
* What config type should be used for {@link CustomTypeParams} `dataType` generation
|
|
759
|
-
*/
|
|
760
|
-
config?: unknown;
|
|
761
|
-
/**
|
|
762
|
-
* Whether the config argument should be required or not
|
|
763
|
-
* @default false
|
|
764
|
-
*/
|
|
765
|
-
configRequired?: boolean;
|
|
766
|
-
/**
|
|
767
|
-
* If your custom data type should be notNull by default you can use `notNull: true`
|
|
768
|
-
*
|
|
769
|
-
* @example
|
|
770
|
-
* const customSerial = customType<{ data: number, notNull: true, default: true }>({
|
|
771
|
-
* dataType() {
|
|
772
|
-
* return 'serial';
|
|
773
|
-
* },
|
|
774
|
-
* });
|
|
775
|
-
*/
|
|
776
|
-
notNull?: boolean;
|
|
777
|
-
/**
|
|
778
|
-
* If your custom data type has default you can use `default: true`
|
|
779
|
-
*
|
|
780
|
-
* @example
|
|
781
|
-
* const customSerial = customType<{ data: number, notNull: true, default: true }>({
|
|
782
|
-
* dataType() {
|
|
783
|
-
* return 'serial';
|
|
784
|
-
* },
|
|
785
|
-
* });
|
|
786
|
-
*/
|
|
787
|
-
default?: boolean;
|
|
788
|
-
};
|
|
789
|
-
interface CustomTypeParams<T extends CustomTypeValues> {
|
|
790
|
-
/**
|
|
791
|
-
* Database data type string representation, that is used for migrations
|
|
792
|
-
* @example
|
|
793
|
-
* ```
|
|
794
|
-
* `jsonb`, `text`
|
|
795
|
-
* ```
|
|
796
|
-
*
|
|
797
|
-
* If database data type needs additional params you can use them from `config` param
|
|
798
|
-
* @example
|
|
799
|
-
* ```
|
|
800
|
-
* `varchar(256)`, `numeric(2,3)`
|
|
801
|
-
* ```
|
|
802
|
-
*
|
|
803
|
-
* To make `config` be of specific type please use config generic in {@link CustomTypeValues}
|
|
804
|
-
*
|
|
805
|
-
* @example
|
|
806
|
-
* Usage example
|
|
807
|
-
* ```
|
|
808
|
-
* dataType() {
|
|
809
|
-
* return 'boolean';
|
|
810
|
-
* },
|
|
811
|
-
* ```
|
|
812
|
-
* Or
|
|
813
|
-
* ```
|
|
814
|
-
* dataType(config) {
|
|
815
|
-
* return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;
|
|
816
|
-
* }
|
|
817
|
-
* ```
|
|
818
|
-
*/
|
|
819
|
-
dataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;
|
|
820
|
-
/**
|
|
821
|
-
* Optional mapping function, between user input and driver
|
|
822
|
-
* @example
|
|
823
|
-
* For example, when using jsonb we need to map JS/TS object to string before writing to database
|
|
824
|
-
* ```
|
|
825
|
-
* toDriver(value: TData): string {
|
|
826
|
-
* return JSON.stringify(value);
|
|
827
|
-
* }
|
|
828
|
-
* ```
|
|
829
|
-
*/
|
|
830
|
-
toDriver?: (value: T['data']) => T['driverData'] | SQL;
|
|
831
|
-
/**
|
|
832
|
-
* Optional mapping function, that is responsible for data mapping from database to JS/TS code
|
|
833
|
-
* @example
|
|
834
|
-
* For example, when using timestamp we need to map string Date representation to JS Date
|
|
835
|
-
* ```
|
|
836
|
-
* fromDriver(value: string): Date {
|
|
837
|
-
* return new Date(value);
|
|
838
|
-
* },
|
|
839
|
-
* ```
|
|
840
|
-
*/
|
|
841
|
-
fromDriver?: (value: T['driverData']) => T['data'];
|
|
842
|
-
}
|
|
843
|
-
/**
|
|
844
|
-
* Custom mysql database data type generator
|
|
845
|
-
*/
|
|
846
|
-
declare function customType<T extends CustomTypeValues = CustomTypeValues>(customTypeParams: CustomTypeParams<T>): Equal<T['configRequired'], true> extends true ? <TName extends string>(dbName: TName, fieldConfig: T['config']) => MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>> : <TName extends string>(dbName: TName, fieldConfig?: T['config']) => MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
|
|
847
|
-
|
|
848
848
|
declare function alias<TTable extends AnyMySqlTable, TAlias extends string>(table: TTable, alias: TAlias): BuildAliasTable<TTable, TAlias>;
|
|
849
849
|
|
|
850
850
|
declare class MySqlSchema<TName extends string = string> {
|
|
@@ -892,4 +892,4 @@ declare function getViewConfig<TName extends string = string, TExisting extends
|
|
|
892
892
|
isAlias: boolean;
|
|
893
893
|
};
|
|
894
894
|
|
|
895
|
-
export { AnyMySqlColumn, AnyMySqlTable, BuildAliasTable, Check, ConvertCustomConfig, CustomTypeParams, CustomTypeValues, DatetimeFsp, ForeignKey, Index, MySqlBigInt53, MySqlBigInt53Builder, MySqlBigInt53BuilderHKT, MySqlBigInt53BuilderInitial, MySqlBigInt53HKT, MySqlBigInt64, MySqlBigInt64Builder, MySqlBigInt64BuilderHKT, MySqlBigInt64BuilderInitial, MySqlBigInt64HKT, MySqlBinary, MySqlBinaryBuilder, MySqlBinaryBuilderHKT, MySqlBinaryBuilderInitial, MySqlBinaryConfig, MySqlBinaryHKT, MySqlBoolean, MySqlBooleanBuilder, MySqlBooleanBuilderHKT, MySqlBooleanBuilderInitial, MySqlBooleanHKT, MySqlChar, MySqlCharBuilder, MySqlCharBuilderHKT, MySqlCharBuilderInitial, MySqlCharConfig, MySqlCharHKT, MySqlColumn, MySqlCustomColumn, MySqlCustomColumnBuilder, MySqlCustomColumnBuilderHKT, MySqlCustomColumnHKT, MySqlCustomColumnInnerConfig, MySqlDate, MySqlDateBuilder, MySqlDateBuilderHKT, MySqlDateBuilderInitial, MySqlDateConfig, MySqlDateHKT, MySqlDateString, MySqlDateStringBuilder, MySqlDateStringBuilderHKT, MySqlDateStringBuilderInitial, MySqlDateStringHKT, MySqlDateTime, MySqlDateTimeBuilder, MySqlDateTimeBuilderHKT, MySqlDateTimeBuilderInitial, MySqlDateTimeHKT, MySqlDateTimeString, MySqlDateTimeStringBuilder, MySqlDateTimeStringBuilderHKT, MySqlDateTimeStringBuilderInitial, MySqlDateTimeStringHKT, MySqlDatetimeConfig, MySqlDecimal, MySqlDecimalBuilder, MySqlDecimalBuilderHKT, MySqlDecimalBuilderInitial, MySqlDecimalConfig, MySqlDecimalHKT, MySqlDouble, MySqlDoubleBuilder, MySqlDoubleBuilderHKT, MySqlDoubleBuilderInitial, MySqlDoubleConfig, MySqlDoubleHKT, MySqlEnumColumn, MySqlEnumColumnBuilder, MySqlEnumColumnBuilderHKT, MySqlEnumColumnBuilderInitial, MySqlEnumColumnHKT, MySqlFloat, MySqlFloatBuilder, MySqlFloatBuilderHKT, MySqlFloatBuilderInitial, MySqlFloatHKT, MySqlInt, MySqlIntBuilder, MySqlIntBuilderHKT, MySqlIntBuilderInitial, MySqlIntHKT, MySqlJson, MySqlJsonBuilder, MySqlJsonBuilderHKT, MySqlJsonBuilderInitial, MySqlJsonHKT, MySqlMediumInt, MySqlMediumIntBuilder, MySqlMediumIntBuilderHKT, MySqlMediumIntBuilderInitial, MySqlMediumIntHKT, MySqlReal, MySqlRealBuilder, MySqlRealBuilderHKT, MySqlRealBuilderInitial, MySqlRealConfig, MySqlRealHKT, MySqlSchema, MySqlSerial, MySqlSerialBuilder, MySqlSerialBuilderHKT, MySqlSerialBuilderInitial, MySqlSerialHKT, MySqlSmallInt, MySqlSmallIntBuilder, MySqlSmallIntBuilderHKT, MySqlSmallIntBuilderInitial, MySqlSmallIntHKT, MySqlTableFn, MySqlText, MySqlTextBuilder, MySqlTextBuilderHKT, MySqlTextBuilderInitial, MySqlTextColumnType, MySqlTextConfig, MySqlTextHKT, MySqlTime, MySqlTimeBuilder, MySqlTimeBuilderHKT, MySqlTimeBuilderInitial, MySqlTimeHKT, MySqlTimestamp, MySqlTimestampBuilder, MySqlTimestampBuilderHKT, MySqlTimestampBuilderInitial, MySqlTimestampConfig, MySqlTimestampHKT, MySqlTimestampString, MySqlTimestampStringBuilder, MySqlTimestampStringBuilderHKT, MySqlTimestampStringBuilderInitial, MySqlTimestampStringHKT, MySqlTinyInt, MySqlTinyIntBuilder, MySqlTinyIntBuilderHKT, MySqlTinyIntBuilderInitial, MySqlTinyIntHKT, MySqlVarBinary, MySqlVarBinaryBuilder, MySqlVarBinaryBuilderHKT, MySqlVarBinaryBuilderInitial, MySqlVarBinaryHKT, MySqlVarChar, MySqlVarCharBuilder, MySqlVarCharBuilderHKT, MySqlVarCharBuilderInitial, MySqlVarCharConfig, MySqlVarCharHKT, MySqlVarbinaryOptions, MySqlView, MySqlYear, MySqlYearBuilder, MySqlYearBuilderHKT, MySqlYearBuilderInitial, MySqlYearHKT, PrimaryKey, TimeConfig, TimestampFsp, alias, bigint, binary, boolean, char, customType, date, datetime, decimal, double, float, getTableConfig, getViewConfig, int, isMySqlSchema, json, longtext, mediumint, mediumtext, mysqlDatabase, mysqlEnum, mysqlSchema, mysqlView, real, serial, smallint, text, time, timestamp, tinyint, tinytext, varbinary, varchar, year };
|
|
895
|
+
export { AnyMySqlColumn, AnyMySqlTable, BuildAliasTable, Check, ConvertCustomConfig, CustomTypeParams, CustomTypeValues, DatetimeFsp, ForeignKey, Index, MySqlBigInt53, MySqlBigInt53Builder, MySqlBigInt53BuilderHKT, MySqlBigInt53BuilderInitial, MySqlBigInt53HKT, MySqlBigInt64, MySqlBigInt64Builder, MySqlBigInt64BuilderHKT, MySqlBigInt64BuilderInitial, MySqlBigInt64HKT, MySqlBinary, MySqlBinaryBuilder, MySqlBinaryBuilderHKT, MySqlBinaryBuilderInitial, MySqlBinaryConfig, MySqlBinaryHKT, MySqlBoolean, MySqlBooleanBuilder, MySqlBooleanBuilderHKT, MySqlBooleanBuilderInitial, MySqlBooleanHKT, MySqlChar, MySqlCharBuilder, MySqlCharBuilderHKT, MySqlCharBuilderInitial, MySqlCharConfig, MySqlCharHKT, MySqlColumn, MySqlColumnBuilder, MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement, MySqlCustomColumn, MySqlCustomColumnBuilder, MySqlCustomColumnBuilderHKT, MySqlCustomColumnHKT, MySqlCustomColumnInnerConfig, MySqlDate, MySqlDateBuilder, MySqlDateBuilderHKT, MySqlDateBuilderInitial, MySqlDateConfig, MySqlDateHKT, MySqlDateString, MySqlDateStringBuilder, MySqlDateStringBuilderHKT, MySqlDateStringBuilderInitial, MySqlDateStringHKT, MySqlDateTime, MySqlDateTimeBuilder, MySqlDateTimeBuilderHKT, MySqlDateTimeBuilderInitial, MySqlDateTimeHKT, MySqlDateTimeString, MySqlDateTimeStringBuilder, MySqlDateTimeStringBuilderHKT, MySqlDateTimeStringBuilderInitial, MySqlDateTimeStringHKT, MySqlDatetimeConfig, MySqlDecimal, MySqlDecimalBuilder, MySqlDecimalBuilderHKT, MySqlDecimalBuilderInitial, MySqlDecimalConfig, MySqlDecimalHKT, MySqlDouble, MySqlDoubleBuilder, MySqlDoubleBuilderHKT, MySqlDoubleBuilderInitial, MySqlDoubleConfig, MySqlDoubleHKT, MySqlEnumColumn, MySqlEnumColumnBuilder, MySqlEnumColumnBuilderHKT, MySqlEnumColumnBuilderInitial, MySqlEnumColumnHKT, MySqlFloat, MySqlFloatBuilder, MySqlFloatBuilderHKT, MySqlFloatBuilderInitial, MySqlFloatHKT, MySqlInt, MySqlIntBuilder, MySqlIntBuilderHKT, MySqlIntBuilderInitial, MySqlIntHKT, MySqlJson, MySqlJsonBuilder, MySqlJsonBuilderHKT, MySqlJsonBuilderInitial, MySqlJsonHKT, MySqlMediumInt, MySqlMediumIntBuilder, MySqlMediumIntBuilderHKT, MySqlMediumIntBuilderInitial, MySqlMediumIntHKT, MySqlReal, MySqlRealBuilder, MySqlRealBuilderHKT, MySqlRealBuilderInitial, MySqlRealConfig, MySqlRealHKT, MySqlSchema, MySqlSerial, MySqlSerialBuilder, MySqlSerialBuilderHKT, MySqlSerialBuilderInitial, MySqlSerialHKT, MySqlSmallInt, MySqlSmallIntBuilder, MySqlSmallIntBuilderHKT, MySqlSmallIntBuilderInitial, MySqlSmallIntHKT, MySqlTableFn, MySqlText, MySqlTextBuilder, MySqlTextBuilderHKT, MySqlTextBuilderInitial, MySqlTextColumnType, MySqlTextConfig, MySqlTextHKT, MySqlTime, MySqlTimeBuilder, MySqlTimeBuilderHKT, MySqlTimeBuilderInitial, MySqlTimeHKT, MySqlTimestamp, MySqlTimestampBuilder, MySqlTimestampBuilderHKT, MySqlTimestampBuilderInitial, MySqlTimestampConfig, MySqlTimestampHKT, MySqlTimestampString, MySqlTimestampStringBuilder, MySqlTimestampStringBuilderHKT, MySqlTimestampStringBuilderInitial, MySqlTimestampStringHKT, MySqlTinyInt, MySqlTinyIntBuilder, MySqlTinyIntBuilderHKT, MySqlTinyIntBuilderInitial, MySqlTinyIntHKT, MySqlVarBinary, MySqlVarBinaryBuilder, MySqlVarBinaryBuilderHKT, MySqlVarBinaryBuilderInitial, MySqlVarBinaryHKT, MySqlVarChar, MySqlVarCharBuilder, MySqlVarCharBuilderHKT, MySqlVarCharBuilderInitial, MySqlVarCharConfig, MySqlVarCharHKT, MySqlVarbinaryOptions, MySqlView, MySqlYear, MySqlYearBuilder, MySqlYearBuilderHKT, MySqlYearBuilderInitial, MySqlYearHKT, PrimaryKey, TimeConfig, TimestampFsp, alias, bigint, binary, boolean, char, customType, date, datetime, decimal, double, float, getTableConfig, getViewConfig, int, isMySqlSchema, json, longtext, mediumint, mediumtext, mysqlDatabase, mysqlEnum, mysqlSchema, mysqlView, real, serial, smallint, text, time, timestamp, tinyint, tinytext, varbinary, varchar, year };
|