UNPKG

n8n

Version:

n8n Workflow Automation Tool

49 lines (48 loc) 1.82 kB
import type { QueryRunner, ObjectLiteral } from '@n8n/typeorm'; import type { Logger } from 'n8n-core'; import type { INodeTypes } from 'n8n-workflow'; import type { createSchemaBuilder } from './dsl'; export type DatabaseType = 'mariadb' | 'postgresdb' | 'mysqldb' | 'sqlite'; export interface MigrationContext { logger: Logger; queryRunner: QueryRunner; tablePrefix: string; dbType: DatabaseType; isMysql: boolean; isSqlite: boolean; isPostgres: boolean; dbName: string; migrationName: string; nodeTypes: INodeTypes; schemaBuilder: ReturnType<typeof createSchemaBuilder>; loadSurveyFromDisk(): string | null; parseJson<T>(data: string | T): T; escape: { columnName(name: string): string; tableName(name: string): string; indexName(name: string): string; }; runQuery<T>(sql: string, namedParameters?: ObjectLiteral): Promise<T>; runInBatches<T>(query: string, operation: (results: T[]) => Promise<void>, limit?: number): Promise<void>; copyTable(fromTable: string, toTable: string): Promise<void>; copyTable(fromTable: string, toTable: string, fromFields?: string[], toFields?: string[], batchSize?: number): Promise<void>; } export type MigrationFn = (ctx: MigrationContext) => Promise<void>; export interface BaseMigration { up: MigrationFn; down?: MigrationFn | never; transaction?: false; } export interface ReversibleMigration extends BaseMigration { down: MigrationFn; } export interface IrreversibleMigration extends BaseMigration { down?: never; } export interface Migration extends Function { prototype: ReversibleMigration | IrreversibleMigration; } export type InsertResult = Array<{ insertId: number; }>; export { QueryFailedError } from '@n8n/typeorm/error/QueryFailedError';