UNPKG

silvie

Version:

Typescript Back-end Framework

142 lines (141 loc) 4.35 kB
import IDatabaseDriver, { IInsertionResult, IModificationResult } from "../.."; import Table from "../../../migration/table"; import QueryBuilder from "../../../builders/query"; import { TBaseValue, TColumn } from "../../../builders/condition"; interface MySQLOptions { host: string; port: number; database: string; username: string; password: string; connectionLimit?: number; dateStrings?: boolean; multipleStatements?: boolean; charset?: string; } export declare const MySQLTypes: { TinyInteger: string; SmallInteger: string; MediumInteger: string; Integer: string; BigInteger: string; Bit: string; Boolean: string; Decimal: string; Float: string; Double: string; Year: string; Date: string; Time: string; DateTime: string; Timestamp: string; Character: string; String: string; Binary: string; TinyBlob: string; Blob: string; MediumBlob: string; LongBlob: string; TinyText: string; Text: string; MediumText: string; LongText: string; Enum: string; Set: string; Geometry: string; Point: string; LineString: string; Polygon: string; GeometryCollection: string; MultiPoint: string; MultiLineString: string; MultiPolygon: string; JSON: string; }; export declare const ReverseMySQLTypes: { tinyint: string; smallint: string; mediumint: string; int: string; bigint: string; bit: string; boolean: string; decimal: string; float: string; double: string; year: string; date: string; time: string; datetime: string; timestamp: string; char: string; varchar: string; binary: string; tinyblob: string; blob: string; mediumblob: string; longblob: string; tinytext: string; text: string; mediumtext: string; longtext: string; enum: string; set: string; geometry: string; point: string; linestring: string; polygon: string; geometrycollection: string; multipoint: string; multilinestring: string; multipolygon: string; json: string; }; export default class MySQLDriver implements IDatabaseDriver { private pool; constructor(config: MySQLOptions, instanceCallback?: any); private static resolveType; private static tbl; private static col; private static compileColumn; private static compileCreateTable; createTable(table: Table): Promise<any>; fetchTable(tableName: string): Promise<Table>; updateTable(table: Table): Promise<any>; truncateTable(tableName: string): Promise<any>; dropTableIfExists(tableName: string): Promise<any>; dropTable(tableName: string): Promise<any>; private static compileConditions; private static compileSelectFields; private static compileJoin; private static compileUnion; private static compileOrder; private static compileGroup; private static compileWhere; private static compileLimit; private static compileSelect; select(queryBuilder: QueryBuilder): Promise<any>; count(queryBuilder: QueryBuilder): Promise<number>; average(queryBuilder: QueryBuilder, column: TColumn): Promise<number>; sum(queryBuilder: QueryBuilder, column: TColumn): Promise<number>; min(queryBuilder: QueryBuilder, column: TColumn): Promise<any>; max(queryBuilder: QueryBuilder, column: TColumn): Promise<any>; exists(queryBuilder: QueryBuilder): Promise<boolean>; private static compileInsert; insert(queryBuilder: QueryBuilder): Promise<IInsertionResult>; private static compileUpdateFields; private static compileUpdate; update(queryBuilder: QueryBuilder): Promise<IModificationResult>; private static compileBulkUpdate; bulkUpdate(queryBuilder: QueryBuilder): Promise<IModificationResult>; private static compileDelete; delete(queryBuilder: QueryBuilder): Promise<IModificationResult>; private static compileSoftDelete; softDelete(queryBuilder: QueryBuilder): Promise<IModificationResult>; private static compileUndelete; restore(queryBuilder: QueryBuilder): Promise<IModificationResult>; setForeignKeyChecks(state: boolean): Promise<any>; execute(query: string, params?: TBaseValue[]): Promise<any>; closeConnection(): void; } export {};