1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | import events = require("events");
|
10 | import stream = require ("stream");
|
11 | import Promise = require("bluebird");
|
12 |
|
13 | type Callback = Function;
|
14 | type Client = Function;
|
15 | type Value = string | number | boolean | Date | Array<string> | Array<number> | Array<Date> | Array<boolean> | Buffer | Knex.Raw;
|
16 | type ColumnName = string | Knex.Raw | Knex.QueryBuilder;
|
17 | type TableName = string | Knex.Raw | Knex.QueryBuilder;
|
18 |
|
19 | interface Knex extends Knex.QueryInterface {
|
20 | (tableName?: string): Knex.QueryBuilder;
|
21 | VERSION: string;
|
22 | __knex__: string;
|
23 |
|
24 | raw: Knex.RawBuilder;
|
25 | transaction(transactionScope: (trx: Knex.Transaction) => any): Promise<any>;
|
26 | destroy(callback: Function): void;
|
27 | destroy(): Promise<void>;
|
28 | batchInsert(tableName : TableName, data: any[], chunkSize : number) : Knex.QueryBuilder;
|
29 | schema: Knex.SchemaBuilder;
|
30 | queryBuilder(): Knex.QueryBuilder;
|
31 |
|
32 | client: any;
|
33 | migrate: Knex.Migrator;
|
34 | seed: any;
|
35 | fn: Knex.FunctionHelper;
|
36 | on(eventName: string, callback: Function): Knex.QueryBuilder;
|
37 | }
|
38 |
|
39 | declare function Knex(config: Knex.Config): Knex;
|
40 |
|
41 | declare namespace Knex {
|
42 |
|
43 |
|
44 |
|
45 |
|
46 | interface QueryInterface {
|
47 | select: Select;
|
48 | as: As;
|
49 | columns: Select;
|
50 | column: Select;
|
51 | from: Table;
|
52 | into: Table;
|
53 | table: Table;
|
54 | distinct: Distinct;
|
55 |
|
56 |
|
57 | join: Join;
|
58 | joinRaw: JoinRaw;
|
59 | innerJoin: Join;
|
60 | leftJoin: Join;
|
61 | leftOuterJoin: Join;
|
62 | rightJoin: Join;
|
63 | rightOuterJoin: Join;
|
64 | outerJoin: Join;
|
65 | fullOuterJoin: Join;
|
66 | crossJoin: Join;
|
67 |
|
68 |
|
69 | with: With;
|
70 | withRaw: WithRaw;
|
71 | withSchema: WithSchema;
|
72 | withWrapped: WithWrapped;
|
73 |
|
74 |
|
75 | where: Where;
|
76 | andWhere: Where;
|
77 | orWhere: Where;
|
78 | whereNot: Where;
|
79 | andWhereNot: Where;
|
80 | orWhereNot: Where;
|
81 | whereRaw: WhereRaw;
|
82 | orWhereRaw: WhereRaw;
|
83 | andWhereRaw: WhereRaw;
|
84 | whereWrapped: WhereWrapped;
|
85 | havingWrapped: WhereWrapped;
|
86 | whereExists: WhereExists;
|
87 | orWhereExists: WhereExists;
|
88 | whereNotExists: WhereExists;
|
89 | orWhereNotExists: WhereExists;
|
90 | whereIn: WhereIn;
|
91 | orWhereIn: WhereIn;
|
92 | whereNotIn: WhereIn;
|
93 | orWhereNotIn: WhereIn;
|
94 | whereNull: WhereNull;
|
95 | orWhereNull: WhereNull;
|
96 | whereNotNull: WhereNull;
|
97 | orWhereNotNull: WhereNull;
|
98 | whereBetween: WhereBetween;
|
99 | orWhereBetween: WhereBetween;
|
100 | andWhereBetween: WhereBetween;
|
101 | whereNotBetween: WhereBetween;
|
102 | orWhereNotBetween: WhereBetween;
|
103 | andWhereNotBetween: WhereBetween;
|
104 |
|
105 |
|
106 | groupBy: GroupBy;
|
107 | groupByRaw: RawQueryBuilder;
|
108 |
|
109 |
|
110 | orderBy: OrderBy;
|
111 | orderByRaw: RawQueryBuilder;
|
112 |
|
113 |
|
114 | union: Union;
|
115 | unionAll(callback: Function): QueryBuilder;
|
116 |
|
117 |
|
118 | having: Having;
|
119 | andHaving: Having;
|
120 | havingRaw: RawQueryBuilder;
|
121 | orHaving: Having;
|
122 | orHavingRaw: RawQueryBuilder;
|
123 |
|
124 |
|
125 | clearSelect(): QueryBuilder;
|
126 | clearWhere(): QueryBuilder;
|
127 |
|
128 |
|
129 | offset(offset: number): QueryBuilder;
|
130 | limit(limit: number): QueryBuilder;
|
131 |
|
132 |
|
133 | count(columnName?: string): QueryBuilder;
|
134 | countDistinct(columnName?: string): QueryBuilder;
|
135 | min(columnName: string): QueryBuilder;
|
136 | max(columnName: string): QueryBuilder;
|
137 | sum(columnName: string): QueryBuilder;
|
138 | sumDistinct(columnName: string): QueryBuilder;
|
139 | avg(columnName: string): QueryBuilder;
|
140 | avgDistinct(columnName: string): QueryBuilder;
|
141 | increment(columnName: string, amount?: number): QueryBuilder;
|
142 | decrement(columnName: string, amount?: number): QueryBuilder;
|
143 |
|
144 |
|
145 | first: Select;
|
146 |
|
147 | debug(enabled?: boolean): QueryBuilder;
|
148 | pluck(column: string): QueryBuilder;
|
149 |
|
150 | insert(data: any, returning?: string | string[]): QueryBuilder;
|
151 | update(data: any, returning?: string | string[]): QueryBuilder;
|
152 | update(columnName: string, value: Value, returning?: string | string[]): QueryBuilder;
|
153 | returning(column: string | string[]): QueryBuilder;
|
154 |
|
155 | del(returning?: string | string[]): QueryBuilder;
|
156 | delete(returning?: string | string[]): QueryBuilder;
|
157 | truncate(): QueryBuilder;
|
158 |
|
159 | transacting(trx: Transaction): QueryBuilder;
|
160 | connection(connection: any): QueryBuilder;
|
161 |
|
162 | clone(): QueryBuilder;
|
163 | }
|
164 |
|
165 | interface As {
|
166 | (columnName: string): QueryBuilder;
|
167 | }
|
168 |
|
169 | interface Select extends ColumnNameQueryBuilder {
|
170 | }
|
171 |
|
172 | interface Table {
|
173 | (tableName: string): QueryBuilder;
|
174 | (callback: Function): QueryBuilder;
|
175 | }
|
176 |
|
177 | interface Distinct extends ColumnNameQueryBuilder {
|
178 | }
|
179 |
|
180 | interface Join {
|
181 | (raw: Raw): QueryBuilder;
|
182 | (tableName: TableName, clause: (this: JoinClause, join: JoinClause) => void): QueryBuilder;
|
183 | (tableName: TableName, columns: { [key: string]: string | number | Raw }): QueryBuilder;
|
184 | (tableName: TableName, raw: Raw): QueryBuilder;
|
185 | (tableName: TableName, column1: string, column2: string): QueryBuilder;
|
186 | (tableName: TableName, column1: string, raw: Raw): QueryBuilder;
|
187 | (tableName: TableName, column1: string, operator: string, column2: string): QueryBuilder;
|
188 | }
|
189 |
|
190 | interface JoinClause {
|
191 | on(raw: Raw): JoinClause;
|
192 | on(callback: Function): JoinClause;
|
193 | on(columns: { [key: string]: string | Raw }): JoinClause;
|
194 | on(column1: string, column2: string): JoinClause;
|
195 | on(column1: string, raw: Raw): JoinClause;
|
196 | on(column1: string, operator: string, column2: string): JoinClause;
|
197 | andOn(raw: Raw): JoinClause;
|
198 | andOn(callback: Function): JoinClause;
|
199 | andOn(columns: { [key: string]: string | Raw }): JoinClause;
|
200 | andOn(column1: string, column2: string): JoinClause;
|
201 | andOn(column1: string, raw: Raw): JoinClause;
|
202 | andOn(column1: string, operator: string, column2: string): JoinClause;
|
203 | orOn(raw: Raw): JoinClause;
|
204 | orOn(callback: Function): JoinClause;
|
205 | orOn(columns: { [key: string]: string | Raw }): JoinClause;
|
206 | orOn(column1: string, column2: string): JoinClause;
|
207 | orOn(column1: string, raw: Raw): JoinClause;
|
208 | orOn(column1: string, operator: string, column2: string): JoinClause;
|
209 | using(column: string | string[] | Raw | { [key: string]: string | Raw }): JoinClause;
|
210 | type(type: string): JoinClause;
|
211 | }
|
212 |
|
213 | interface JoinRaw {
|
214 | (tableName: string, binding?: Value): QueryBuilder;
|
215 | }
|
216 |
|
217 | interface With extends WithRaw, WithWrapped {
|
218 | }
|
219 |
|
220 | interface WithRaw {
|
221 | (alias: string, raw: Raw): QueryBuilder;
|
222 | (alias: string, sql: string, bindings?: Value[] | Object): QueryBuilder;
|
223 | }
|
224 |
|
225 | interface WithSchema {
|
226 | (schema: string): QueryBuilder
|
227 | }
|
228 |
|
229 | interface WithWrapped {
|
230 | (alias: string, callback: (queryBuilder: QueryBuilder) => any): QueryBuilder;
|
231 | }
|
232 |
|
233 | interface Where extends WhereRaw, WhereWrapped, WhereNull {
|
234 | (raw: Raw): QueryBuilder;
|
235 | (callback: (queryBuilder: QueryBuilder) => any): QueryBuilder;
|
236 | (object: Object): QueryBuilder;
|
237 | (columnName: string, value: Value): QueryBuilder;
|
238 | (columnName: string, operator: string, value: Value): QueryBuilder;
|
239 | (columnName: string, operator: string, query: QueryBuilder): QueryBuilder;
|
240 | }
|
241 |
|
242 | interface WhereRaw extends RawQueryBuilder {
|
243 | (condition: boolean): QueryBuilder;
|
244 | }
|
245 |
|
246 | interface WhereWrapped {
|
247 | (callback: Function): QueryBuilder;
|
248 | }
|
249 |
|
250 | interface WhereNull {
|
251 | (columnName: string): QueryBuilder;
|
252 | }
|
253 |
|
254 | interface WhereIn {
|
255 | (columnName: string, values: Value[]): QueryBuilder;
|
256 | (columnName: string, callback: Function): QueryBuilder;
|
257 | (columnName: string, query: QueryBuilder): QueryBuilder;
|
258 | }
|
259 |
|
260 | interface WhereBetween {
|
261 | (columnName: string, range: [Value, Value]): QueryBuilder;
|
262 | }
|
263 |
|
264 | interface WhereExists {
|
265 | (callback: Function): QueryBuilder;
|
266 | (query: QueryBuilder): QueryBuilder;
|
267 | }
|
268 |
|
269 | interface WhereNull {
|
270 | (columnName: string): QueryBuilder;
|
271 | }
|
272 |
|
273 | interface WhereIn {
|
274 | (columnName: string, values: Value[]): QueryBuilder;
|
275 | }
|
276 |
|
277 | interface GroupBy extends RawQueryBuilder, ColumnNameQueryBuilder {
|
278 | }
|
279 |
|
280 | interface OrderBy {
|
281 | (columnName: string, direction?: string): QueryBuilder;
|
282 | }
|
283 |
|
284 | interface Union {
|
285 | (callback: Function, wrap?: boolean): QueryBuilder;
|
286 | (callbacks: Function[], wrap?: boolean): QueryBuilder;
|
287 | (...callbacks: Function[]): QueryBuilder;
|
288 |
|
289 | }
|
290 |
|
291 | interface Having extends RawQueryBuilder, WhereWrapped {
|
292 | (tableName: string, column1: string, operator: string, column2: string): QueryBuilder;
|
293 | }
|
294 |
|
295 |
|
296 |
|
297 | interface ColumnNameQueryBuilder {
|
298 | (...columnNames: ColumnName[]): QueryBuilder;
|
299 | (columnNames: ColumnName[]): QueryBuilder;
|
300 | }
|
301 |
|
302 | interface RawQueryBuilder {
|
303 | (sql: string, ...bindings: Value[]): QueryBuilder;
|
304 | (sql: string, bindings: Value[]): QueryBuilder;
|
305 | (raw: Raw): QueryBuilder;
|
306 | }
|
307 |
|
308 |
|
309 |
|
310 | interface Raw extends events.EventEmitter, ChainableInterface {
|
311 | wrap(before: string, after: string): Raw;
|
312 | }
|
313 |
|
314 | interface RawBuilder {
|
315 | (value: Value): Raw;
|
316 | (sql: string, ...bindings: Value[]): Raw;
|
317 | (sql: string, bindings: Value[]): Raw;
|
318 | (sql: string, bindings: Object): Raw;
|
319 | }
|
320 |
|
321 |
|
322 |
|
323 |
|
324 |
|
325 | interface QueryBuilder extends QueryInterface, ChainableInterface {
|
326 | or: QueryBuilder;
|
327 | and: QueryBuilder;
|
328 |
|
329 |
|
330 | columnInfo(column?: string): Promise<ColumnInfo>;
|
331 |
|
332 | forUpdate(): QueryBuilder;
|
333 | forShare(): QueryBuilder;
|
334 |
|
335 | toSQL(): Sql;
|
336 |
|
337 | on(event: string, callback: Function): QueryBuilder;
|
338 | }
|
339 |
|
340 | interface Sql {
|
341 | method: string;
|
342 | options: any;
|
343 | bindings: Value[];
|
344 | sql: string;
|
345 | }
|
346 |
|
347 |
|
348 |
|
349 |
|
350 |
|
351 | interface ChainableInterface extends Promise<any> {
|
352 | toQuery(): string;
|
353 | options(options: any): QueryBuilder;
|
354 | stream(callback: (readable: stream.PassThrough) => any): Promise<any>;
|
355 | stream(options?: { [key: string]: any }): stream.PassThrough;
|
356 | stream(options: { [key: string]: any }, callback: (readable: stream.PassThrough) => any): Promise<any>;
|
357 | pipe(writable: any): stream.PassThrough;
|
358 | exec(callback: Function): QueryBuilder;
|
359 | }
|
360 |
|
361 | interface Transaction extends Knex {
|
362 | savepoint(transactionScope: (trx: Transaction) => any): Promise<any>;
|
363 | commit(value?: any): QueryBuilder;
|
364 | rollback(error?: any): QueryBuilder;
|
365 | }
|
366 |
|
367 |
|
368 |
|
369 |
|
370 |
|
371 | interface SchemaBuilder extends Promise<any> {
|
372 | createTable(tableName: string, callback: (tableBuilder: CreateTableBuilder) => any): SchemaBuilder;
|
373 | createTableIfNotExists(tableName: string, callback: (tableBuilder: CreateTableBuilder) => any): SchemaBuilder;
|
374 | renameTable(oldTableName: string, newTableName: string): Promise<void>;
|
375 | dropTable(tableName: string): SchemaBuilder;
|
376 | hasTable(tableName: string): Promise<boolean>;
|
377 | hasColumn(tableName: string, columnName: string): Promise<boolean>;
|
378 | table(tableName: string, callback: (tableBuilder: AlterTableBuilder) => any): Promise<void>;
|
379 | dropTableIfExists(tableName: string): SchemaBuilder;
|
380 | raw(statement: string): SchemaBuilder;
|
381 | withSchema(schemaName: string): SchemaBuilder;
|
382 | }
|
383 |
|
384 | interface TableBuilder {
|
385 | increments(columnName?: string): ColumnBuilder;
|
386 | bigIncrements(columnName?: string): ColumnBuilder;
|
387 | dropColumn(columnName: string): TableBuilder;
|
388 | dropColumns(...columnNames: string[]): TableBuilder;
|
389 | renameColumn(from: string, to: string): ColumnBuilder;
|
390 | integer(columnName: string): ColumnBuilder;
|
391 | bigInteger(columnName: string): ColumnBuilder;
|
392 | text(columnName: string, textType?: string): ColumnBuilder;
|
393 | string(columnName: string, length?: number): ColumnBuilder;
|
394 | float(columnName: string, precision?: number, scale?: number): ColumnBuilder;
|
395 | decimal(columnName: string, precision?: number, scale?: number): ColumnBuilder;
|
396 | boolean(columnName: string): ColumnBuilder;
|
397 | date(columnName: string): ColumnBuilder;
|
398 | dateTime(columnName: string): ColumnBuilder;
|
399 | time(columnName: string): ColumnBuilder;
|
400 | timestamp(columnName: string): ColumnBuilder;
|
401 | timestamps(useTimestampType?: boolean, makeDefaultNow?: boolean): ColumnBuilder;
|
402 | binary(columnName: string): ColumnBuilder;
|
403 | enum(columnName: string, values: Value[]): ColumnBuilder;
|
404 | enu(columnName: string, values: Value[]): ColumnBuilder;
|
405 | json(columnName: string): ColumnBuilder;
|
406 | jsonb(columnName: string): ColumnBuilder;
|
407 | uuid(columnName: string): ColumnBuilder;
|
408 | comment(val: string): TableBuilder;
|
409 | specificType(columnName: string, type: string): ColumnBuilder;
|
410 | primary(columnNames: string[]): TableBuilder;
|
411 | index(columnNames: (string | Raw)[], indexName?: string, indexType?: string): TableBuilder;
|
412 | unique(columnNames: (string | Raw)[], indexName?: string): TableBuilder;
|
413 | foreign(column: string): ForeignConstraintBuilder;
|
414 | foreign(columns: string[]): MultikeyForeignConstraintBuilder;
|
415 | dropForeign(columnNames: string[], foreignKeyName?: string): TableBuilder;
|
416 | dropUnique(columnNames: (string | Raw)[], indexName?: string): TableBuilder;
|
417 | dropPrimary(constraintName?: string): TableBuilder;
|
418 | dropIndex(columnNames: (string | Raw)[], indexName?: string): TableBuilder;
|
419 | dropTimestamps(): ColumnBuilder;
|
420 | }
|
421 |
|
422 | interface CreateTableBuilder extends TableBuilder {
|
423 | }
|
424 |
|
425 | interface MySqlTableBuilder extends CreateTableBuilder {
|
426 | engine(val: string): CreateTableBuilder;
|
427 | charset(val: string): CreateTableBuilder;
|
428 | collate(val: string): CreateTableBuilder;
|
429 | }
|
430 |
|
431 | interface AlterTableBuilder extends TableBuilder {
|
432 | }
|
433 |
|
434 | interface MySqlAlterTableBuilder extends AlterTableBuilder {
|
435 | }
|
436 |
|
437 | interface ColumnBuilder {
|
438 | index(indexName?: string): ColumnBuilder;
|
439 | primary(): ColumnBuilder;
|
440 | unique(): ColumnBuilder;
|
441 | references(columnName: string): ReferencingColumnBuilder;
|
442 | onDelete(command: string): ColumnBuilder;
|
443 | onUpdate(command: string): ColumnBuilder;
|
444 | defaultTo(value: Value): ColumnBuilder;
|
445 | unsigned(): ColumnBuilder;
|
446 | notNullable(): ColumnBuilder;
|
447 | nullable(): ColumnBuilder;
|
448 | comment(value: string): ColumnBuilder;
|
449 | alter(): ColumnBuilder;
|
450 | }
|
451 |
|
452 | interface ForeignConstraintBuilder {
|
453 | references(columnName: string): ReferencingColumnBuilder;
|
454 | }
|
455 |
|
456 | interface MultikeyForeignConstraintBuilder {
|
457 | references(columnNames: string[]): ReferencingColumnBuilder;
|
458 | }
|
459 |
|
460 | interface PostgreSqlColumnBuilder extends ColumnBuilder {
|
461 | index(indexName?: string, indexType?: string): ColumnBuilder;
|
462 | }
|
463 |
|
464 | interface ReferencingColumnBuilder extends ColumnBuilder {
|
465 | inTable(tableName: string): ColumnBuilder;
|
466 | }
|
467 |
|
468 | interface AlterColumnBuilder extends ColumnBuilder {
|
469 | }
|
470 |
|
471 | interface MySqlAlterColumnBuilder extends AlterColumnBuilder {
|
472 | first(): AlterColumnBuilder;
|
473 | after(columnName: string): AlterColumnBuilder;
|
474 | }
|
475 |
|
476 |
|
477 |
|
478 |
|
479 |
|
480 | interface ColumnInfo {
|
481 | defaultValue: Value;
|
482 | type: string;
|
483 | maxLength: number;
|
484 | nullable: boolean;
|
485 | }
|
486 |
|
487 | interface Config {
|
488 | debug?: boolean;
|
489 | client?: string;
|
490 | dialect?: string;
|
491 | connection?: string | ConnectionConfig | MariaSqlConnectionConfig |
|
492 | MySqlConnectionConfig | MsSqlConnectionConfig | Sqlite3ConnectionConfig | SocketConnectionConfig;
|
493 | pool?: PoolConfig;
|
494 | migrations?: MigratorConfig;
|
495 | seeds?: SeedsConfig;
|
496 | acquireConnectionTimeout?: number;
|
497 | useNullAsDefault?: boolean;
|
498 | searchPath?: string;
|
499 | }
|
500 |
|
501 | interface ConnectionConfig {
|
502 | host: string;
|
503 | user: string;
|
504 | password: string;
|
505 | database: string;
|
506 | domain?: string;
|
507 | instanceName?: string;
|
508 | debug?: boolean;
|
509 | requestTimeout?: number;
|
510 | }
|
511 |
|
512 | interface MsSqlConnectionConfig {
|
513 | user: string;
|
514 | password: string;
|
515 | server: string;
|
516 | database: string;
|
517 | options: MsSqlOptionsConfig;
|
518 | }
|
519 |
|
520 |
|
521 | interface MariaSqlConnectionConfig {
|
522 | user?: string;
|
523 | password?: string;
|
524 | host?: string;
|
525 | port?: number;
|
526 | unixSocket?: string;
|
527 | protocol?: string;
|
528 | db?: string;
|
529 | keepQueries?: boolean;
|
530 | multiStatements?: boolean;
|
531 | connTimeout?: number;
|
532 | pingInterval?: number;
|
533 | secureAuth?: boolean;
|
534 | compress?: boolean;
|
535 | ssl?: boolean | MariaSslConfiguration;
|
536 | local_infile?: boolean;
|
537 | read_default_file?: string;
|
538 | read_default_group?: string;
|
539 | charset?: string;
|
540 | streamHWM?: number;
|
541 | }
|
542 |
|
543 | interface MariaSslConfiguration {
|
544 | key?: string;
|
545 | cert?: string;
|
546 | ca?: string;
|
547 | capath?: string;
|
548 | cipher?: string;
|
549 | rejectUnauthorized?: boolean;
|
550 | }
|
551 |
|
552 |
|
553 | interface MySqlConnectionConfig {
|
554 | host?: string;
|
555 | port?: number;
|
556 | localAddress?: string;
|
557 | socketPath?: string;
|
558 | user?: string;
|
559 | password?: string;
|
560 | database?: string;
|
561 | charset?: string;
|
562 | timezone?: string;
|
563 | connectTimeout?: number;
|
564 | stringifyObjects?: boolean;
|
565 | insecureAuth?: boolean;
|
566 | typeCast?: boolean;
|
567 | queryFormat?: (query: string, values: any) => string;
|
568 | supportBigNumbers?: boolean;
|
569 | bigNumberStrings?: boolean;
|
570 | dateStrings?: boolean;
|
571 | debug?: boolean;
|
572 | trace?: boolean;
|
573 | multipleStatements?: boolean;
|
574 | flags?: string;
|
575 | ssl?: string | MariaSslConfiguration;
|
576 | }
|
577 |
|
578 |
|
579 | interface Sqlite3ConnectionConfig {
|
580 | filename: string;
|
581 | debug?: boolean;
|
582 | }
|
583 |
|
584 | interface MsSqlOptionsConfig {
|
585 | encrypt?: boolean;
|
586 | port?: number;
|
587 | domain?: string;
|
588 | connectionTimeout?: number;
|
589 | requestTimeout?: number;
|
590 | stream?: boolean;
|
591 | parseJSON?: boolean;
|
592 | pool?: PoolConfig;
|
593 | }
|
594 |
|
595 | interface SocketConnectionConfig {
|
596 | socketPath: string;
|
597 | user: string;
|
598 | password: string;
|
599 | database: string;
|
600 | debug?: boolean;
|
601 | }
|
602 |
|
603 | interface PoolConfig {
|
604 | name?: string;
|
605 | create?: Function;
|
606 | afterCreate?: Function;
|
607 | destroy?: Function;
|
608 | beforeDestroy?: Function;
|
609 | min?: number;
|
610 | max?: number;
|
611 | refreshIdle?: boolean;
|
612 | idleTimeoutMillis?: number;
|
613 | reapIntervalMillis?: number;
|
614 | returnToHead?: boolean;
|
615 | priorityRange?: number;
|
616 | validate?: Function;
|
617 | log?: boolean;
|
618 |
|
619 |
|
620 | maxWaitingClients?: number;
|
621 | testOnBorrow?: boolean;
|
622 | acquireTimeoutMillis?: number;
|
623 | fifo?: boolean;
|
624 | autostart?: boolean;
|
625 | evictionRunIntervalMillis?: number;
|
626 | numTestsPerRun?: number;
|
627 | softIdleTimeoutMillis?: number;
|
628 | Promise?: any;
|
629 | }
|
630 |
|
631 | interface MigratorConfig {
|
632 | database?: string;
|
633 | directory?: string;
|
634 | extension?: string;
|
635 | tableName?: string;
|
636 | disableTransactions?: boolean;
|
637 | }
|
638 |
|
639 | interface SeedsConfig {
|
640 | directory?: string;
|
641 | }
|
642 |
|
643 | interface Migrator {
|
644 | make(name: string, config?: MigratorConfig): Promise<string>;
|
645 | latest(config?: MigratorConfig): Promise<any>;
|
646 | rollback(config?: MigratorConfig): Promise<any>;
|
647 | status(config?: MigratorConfig): Promise<number>;
|
648 | currentVersion(config?: MigratorConfig): Promise<string>;
|
649 | }
|
650 |
|
651 | interface FunctionHelper {
|
652 | now(): Raw;
|
653 | }
|
654 | }
|
655 |
|
656 | export = Knex;
|