zumito-db
Version:
Multi-driver database abstraction layer with decorator-based models
30 lines (29 loc) • 992 B
TypeScript
import { DatabaseDriver } from './drivers/DriverInterface.js';
import { DatabaseConfig } from './types.js';
import { Repository } from './Repository.js';
import { Migrator } from './migrations/Migrator.js';
export declare class DatabaseManager {
private driver;
private repositories;
private modelMetadata;
private migrationRunner;
private _migrator;
private _config;
constructor();
get migrator(): Migrator;
connect(config: DatabaseConfig): Promise<void>;
disconnect(): Promise<void>;
registerModel(modelClass: any): void;
getRepository<T>(modelClass: any): Repository<T>;
ensureSchemas(): Promise<void>;
getDriver(): DatabaseDriver;
transaction<T>(fn: (db: DatabaseManager) => Promise<T>): Promise<T>;
dropCollection(name: string): Promise<void>;
listCollections(): Promise<string[]>;
getCollectionMetadata(): {
name: string;
fields: any[];
relations: any[];
}[];
private loadDriver;
}