codecrucible-synth
Version:
Production-Ready AI Development Platform with Multi-Voice Synthesis, Smithery MCP Integration, Enterprise Security, and Zero-Timeout Reliability
87 lines • 2.23 kB
TypeScript
/**
* Database Migration Manager - Enterprise Grade Versioning System
* Extends existing database-manager.ts with migration capabilities
*/
import { ProductionDatabaseManager as DatabaseManager } from './production-database-manager.js';
export interface Migration {
version: string;
name: string;
description: string;
up: string;
down: string;
checksum: string;
appliedAt?: Date;
}
export interface MigrationResult {
success: boolean;
version: string;
error?: string;
duration: number;
}
/**
* Migration Manager for CodeCrucible Database
* Works WITH existing DatabaseManager, not against it
*/
export declare class MigrationManager {
private dbManager;
private migrationsPath;
constructor(dbManager: DatabaseManager, migrationsPath?: string);
/**
* Initialize migration tracking table
*/
initialize(): Promise<void>;
/**
* Get all pending migrations
*/
getPendingMigrations(): Promise<Migration[]>;
/**
* Get applied migrations from database
*/
getAppliedMigrations(): Promise<Migration[]>;
/**
* Load migration files from disk
*/
private loadMigrations;
/**
* Run all pending migrations
*/
migrate(): Promise<MigrationResult[]>;
/**
* Run a single migration
*/
private runMigration;
/**
* Rollback last migration
*/
rollback(): Promise<MigrationResult>;
/**
* Get migration status
*/
getStatus(): Promise<{
currentVersion: string | null;
pendingCount: number;
appliedCount: number;
appliedMigrations: Migration[];
pendingMigrations: Migration[];
}>;
/**
* Validate all applied migrations
*/
validateMigrations(): Promise<{
valid: boolean;
issues: string[];
}>;
/**
* Create a new migration file template
*/
createMigration(name: string, description?: string): Promise<string>;
/**
* Calculate checksum for migration content
*/
private calculateChecksum;
/**
* Get database schema version
*/
getSchemaVersion(): Promise<string | null>;
}
//# sourceMappingURL=migration-manager.d.ts.map