UNPKG

autosql

Version:

An auto-parser of JSON into SQL.

52 lines 2.73 kB
import { MySQLDatabase } from "./mysql"; import { PostgresDatabase } from "./pgsql"; import { InsertInput, MetadataHeader, AlterTableChanges, QueryResult, QueryInput } from "../config/types"; export declare class AutoSQLHandler { private db; constructor(dbInstance: MySQLDatabase | PostgresDatabase); autoCreateTable(table: string, newMetaData: MetadataHeader, tableExists?: boolean, runQuery?: boolean): Promise<QueryResult | QueryInput[]>; autoAlterTable(table: string, tableChanges: AlterTableChanges, tableExists?: boolean, runQuery?: boolean): Promise<QueryResult | QueryInput[]>; autoConfigureTable(inputOrTable: string | InsertInput, inputData?: Record<string, any>[] | null, inputCurrentMetaData?: MetadataHeader | AlterTableChanges | null, inputNewMetaData?: MetadataHeader | null, inputRunQuery?: boolean): Promise<QueryResult | QueryInput[]>; fetchTableMetadata(table: string): Promise<{ currentMetaData: MetadataHeader | null; tableExists: boolean; }>; splitTableData(table: string, data: Record<string, any>[], metaData: MetadataHeader): Promise<{ table: string; data: Record<string, any>[]; metaData: MetadataHeader; previousMetaData: MetadataHeader; mergedMetaData: { changes: AlterTableChanges; updatedMetaData: MetadataHeader; }; }[]>; autoInsertData(inputOrTable: InsertInput | string, inputData?: Record<string, any>[], inputMetaData?: MetadataHeader, inputPreviousMetaData?: AlterTableChanges | MetadataHeader | null, inputComparedMetaData?: { changes: AlterTableChanges; updatedMetaData: MetadataHeader; }, inputRunQuery?: boolean, inputInsertType?: "UPDATE" | "INSERT"): Promise<QueryInput[] | QueryResult>; handleMetadata(table: string, data: Record<string, any>[], primaryKey?: string[]): Promise<{ currentMetaData: MetadataHeader | null; mergedMetaData: MetadataHeader; initialComparedMetaData: { changes: AlterTableChanges; updatedMetaData: MetadataHeader; } | undefined; changes: AlterTableChanges | null; newMetaData: MetadataHeader; }>; private attemptTableSplit; private prepareInsertData; private configureTables; private insertData; private prepareStagingTables; private insertStagingTables; private removeStagingTables; private resolveConflicts; private insertFromStagingTables; private insertToHistoryTables; private insertHistory; private extractNestedInputs; autoSQL(table: string, data: Record<string, any>[], schema?: string, primaryKey?: string[]): Promise<QueryResult>; } //# sourceMappingURL=autosql.d.ts.map