UNPKG

@athenna/database

Version:

The Athenna database handler for SQL/NoSQL.

63 lines (62 loc) 1.86 kB
/** * @athenna/database * * (c) João Lenon <lenon@athenna.io> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ import type { Operations } from '#src/types'; import type { ConnectionOptions } from '#src/types/ConnectionOptions'; import { BaseKnexDriver } from '#src/database/drivers/BaseKnexDriver'; export declare class MySqlDriver extends BaseKnexDriver { /** * Connect to database. */ connect(options?: ConnectionOptions): void; /** * List all databases available. */ getDatabases(): Promise<string[]>; /** * Create a new database. */ createDatabase(database: string): Promise<void>; /** * Drop some database. */ dropDatabase(database: string): Promise<void>; /** * List all tables available. */ getTables(): Promise<string[]>; /** * Remove all data inside some database table * and restart the identity of the table. */ truncate(table: string): Promise<void>; /** * Create many values in database. */ createMany<T = any>(data?: Partial<T>[]): Promise<T[]>; whereJson(column: string, value: any): this; whereJson(column: string, operation: Operations, value: any): this; orWhereJson(column: string, value: any): this; orWhereJson(column: string, operation: Operations, value: any): this; /** * Convert a json selector path to mysql json path. */ private parseJsonSelectorToMySqlPath; /** * Split a json selector around the wildcard. */ private parseJsonSelectorToWildcardParts; /** * Convert path parts to a valid json path. */ private toJsonPath; /** * Normalize operator/value pairs from the whereJson overloads. */ private normalizeJsonOperation; }