UNPKG

quicklite

Version:

A lightweight ORM toolkit for SQLite in Node.js applications

44 lines (43 loc) 1.41 kB
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; }