quicklite
Version:
A lightweight ORM toolkit for SQLite in Node.js applications
44 lines (43 loc) • 1.41 kB
TypeScript
import Database from 'better-sqlite3';
import { BaseEntity } from './BaseEntity';
/**
* Database initializer for creating tables and schema
*/
export declare class DbInitializer {
private entityClasses;
private db;
/**
* Creates a new DbInitializer instance
* @param db SQLite database instance
*/
constructor(db: Database.Database);
/**
* Registers an entity class for initialization
* @param entityClass Entity class that extends BaseEntity
* @returns this instance for chaining
*/
register(entityClass: typeof BaseEntity): DbInitializer;
/**
* Registers multiple entity classes for initialization
* @param entityClasses Array of entity classes
* @returns this instance for chaining
*/
registerMany(entityClasses: Array<typeof BaseEntity>): DbInitializer;
/**
* Initializes all registered tables
* @returns this instance for chaining
*/
initTables(): DbInitializer;
/**
* Drops a table if it exists
* @param tableName Name of the table to drop
* @returns this instance for chaining
*/
dropTable(tableName: string): DbInitializer;
/**
* Clears all data from a table without dropping the table structure
* @param tableName Name of the table to clear
* @returns this instance for chaining
*/
clearTable(tableName: string): DbInitializer;
}