clicksuite
Version:
A CLI tool for managing ClickHouse database migrations with environment-specific configurations
48 lines • 1.72 kB
TypeScript
import { Context } from './types';
export declare class Db {
private client;
private context;
constructor(context: Context);
ping(): Promise<import("@clickhouse/client-common").ConnPingResult>;
initMigrationsTable(): Promise<void>;
getAppliedMigrations(): Promise<Array<{
version: string;
active: number;
created_at: string;
}>>;
getAllMigrationRecords(): Promise<Array<{
version: string;
active: number;
created_at: string;
}>>;
private splitQueries;
executeMigration(query: string, query_settings?: Record<string, any>): Promise<void>;
markMigrationApplied(version: string): Promise<void>;
markMigrationRolledBack(version: string): Promise<void>;
getDatabaseSchema(): Promise<Record<string, string>>;
getLatestMigration(): Promise<string | undefined>;
getDatabaseTables(): Promise<{
name: string;
}[]>;
getDatabaseMaterializedViews(): Promise<{
name: string;
}[]>;
getDatabaseDictionaries(): Promise<{
name: string;
}[]>;
getDatabaseTablesForDb(database: string): Promise<{
name: string;
}[]>;
getDatabaseMaterializedViewsForDb(database: string): Promise<{
name: string;
}[]>;
getDatabaseDictionariesForDb(database: string): Promise<{
name: string;
}[]>;
getCreateTableQuery(name: string, type: 'TABLE' | 'VIEW' | 'DICTIONARY'): Promise<string>;
getCreateTableQueryForDb(name: string, database: string, type: 'TABLE' | 'VIEW' | 'DICTIONARY'): Promise<string>;
optimizeMigrationTable(): Promise<void>;
close(): Promise<void>;
clearMigrationsTable(): Promise<void>;
}
//# sourceMappingURL=db.d.ts.map