sqlite3orm
Version:
ORM for sqlite3 and TypeScript/JavaScript
37 lines (36 loc) • 1.48 kB
TypeScript
import { SqlDatabase } from './core/SqlDatabase';
import { DbTableInfo } from './dbcatalog';
import { Table } from './metadata';
export interface UpgradeOptions {
keepOldColumns?: boolean;
forceRecreate?: boolean;
}
export declare enum UpgradeMode {
ACTUAL = 0,
CREATE = 1,
ALTER = 2,
RECREATE = 3
}
export interface UpgradeInfo {
tableInfo?: DbTableInfo;
upgradeMode: UpgradeMode;
opts?: UpgradeOptions;
}
export declare class AutoUpgrader {
static defaults?: UpgradeOptions;
private readonly sqldb;
private readonly catalogDao;
constructor(sqldb: SqlDatabase);
upgradeAllTables(opts?: UpgradeOptions): Promise<void>;
upgradeTables(tables: Table[] | Table, opts?: UpgradeOptions): Promise<void>;
isActual(tables: Table | Table[], opts?: UpgradeOptions): Promise<boolean>;
getUpgradeInfo(table: Table, opts?: UpgradeOptions): Promise<UpgradeInfo>;
protected _getUpgradeInfo(table: Table, tableInfo?: DbTableInfo, opts?: UpgradeOptions): UpgradeInfo;
protected _upgradeTable(table: Table, opts?: UpgradeOptions): Promise<void>;
protected createTable(table: Table): Promise<void>;
protected alterTable(table: Table, upgradeInfo: UpgradeInfo): Promise<void>;
protected recreateTable(table: Table, upgradeInfo: UpgradeInfo): Promise<void>;
foreignKeyEnabled(): Promise<boolean>;
foreignKeyEnable(enable: boolean): Promise<void>;
static debug(formatter: any, ...args: any[]): void;
}