iagate-querykit
Version:
QueryKit: lightweight TypeScript query toolkit with models, views, triggers, events, scheduler and adapters (better-sqlite3).
34 lines • 1.15 kB
TypeScript
export type DatabaseType = 'sqlite' | 'mysql' | 'postgresql' | 'mongodb' | 'redis' | 'firebase' | 'cassandra' | 'hbase' | 'couchbase' | 'hadoop' | 'spark';
export type QueryResult = {
data: any[];
affectedRows?: number;
lastInsertId?: number | string;
metadata?: Record<string, any>;
};
export interface DatabaseConfig {
name: string;
type: DatabaseType;
host?: string;
port?: number;
user?: string;
password?: string;
database?: string;
filePath?: string;
options?: Record<string, any>;
}
export declare abstract class BaseDatabaseAdapter {
protected config: DatabaseConfig;
constructor(config: DatabaseConfig);
getConfig(): DatabaseConfig;
abstract connect(): Promise<void>;
abstract disconnect(): Promise<void>;
abstract isConnectedToDatabase(): boolean;
abstract executeQuery(sql: string, params?: any[]): Promise<QueryResult>;
backup(destPath: string): Promise<void>;
restore(srcPath: string): Promise<void>;
getConnectionInfo(): Promise<{
uptime: number;
activeConnections: number;
}>;
}
//# sourceMappingURL=base-adapter.d.ts.map