node-mysql-query-utils
Version:
A simple MySQL query utils for Node.js
34 lines • 1.75 kB
TypeScript
import mysql, { type ConnectionOptions, type Pool } from 'mysql2/promise';
import { TableModelConstructor, DatabaseConnectionConfig, DatabaseManagementOptions } from './types';
import { TableModel } from '../src/table-model';
export declare class DatabaseManagement {
private static instances;
private config;
private verbose;
connectionName: string;
pool: Pool | null;
constructor(connectionName: string, config: ConnectionOptions, options?: DatabaseManagementOptions);
private logVerbose;
private initConnection;
private static initializeConnection;
static connectSingleDatabase(identifierName: string, config: ConnectionOptions, options?: DatabaseManagementOptions): void;
static connectMultipleDatabases(configs: DatabaseConnectionConfig[]): void;
static getInstance(identifierName: string): DatabaseManagement;
static getInstanceList(logInstanceNames?: boolean): Map<string, DatabaseManagement> | string[];
static formatQuery(sql: string, params?: any[]): string;
formatQuery(sql: string, params?: any[]): string;
createTableModel<ColumnKeys extends string, PrimaryKey extends ColumnKeys>(BuildSQLConstructor: TableModelConstructor<ColumnKeys[], PrimaryKey>): TableModel<ColumnKeys, PrimaryKey>;
createTransactionConnection(): Promise<{
query: (sql: string, params?: any[]) => Promise<mysql.QueryResult>;
commit: (options: {
release: boolean;
}) => Promise<void>;
rollback: (options: {
release: boolean;
}) => Promise<void>;
release: () => void;
}>;
destroy(): Promise<void>;
executeQuery<T = any>(sql: string, params?: any[]): Promise<T>;
}
//# sourceMappingURL=db-management-class.d.ts.map