/** * FTS5 Migration Status 유틸리티 * * FTS5 reflection_notes 마이그레이션 상태를 관리하는 유틸리티 함수를 제공합니다. * Fallback 전략을 위해 마이그레이션 상태를 추적하고 관리합니다. */ import type Database from 'better-sqlite3'; export type FTS5MigrationStatus = 'pending' | 'in_progress' | 'completed' | 'failed'; /** * 마이그레이션 상태 테이블 초기화 * 테이블이 없으면 생성하고, 초기 상태 'pending' 삽입 */ export declare function initializeMigrationStatusTable(db: Database.Database): void; /** * 마이그레이션 상태 조회 * * @param db - 데이터베이스 인스턴스 * @returns 마이그레이션 상태 */ export declare function getMigrationStatus(db: Database.Database): FTS5MigrationStatus; /** * 마이그레이션 상태 업데이트 * * @param db - 데이터베이스 인스턴스 * @param status - 새로운 상태 * @param errorMessage - 에러 메시지 (실패 시) * @throws Error - 상태 전이 검증 실패 시 */ export declare function setMigrationStatus(db: Database.Database, status: FTS5MigrationStatus, errorMessage?: string): void; /** * 마이그레이션 상태를 config에 로드 및 캐시 * * @param db - 데이터베이스 인스턴스 */ export declare function loadMigrationStatusToConfig(db: Database.Database): void; /** * 마이그레이션 상태가 완료되었는지 확인 * * @param db - 데이터베이스 인스턴스 (선택적, 없으면 config 캐시 사용) * @returns 완료 여부 */ export declare function isMigrationCompleted(db?: Database.Database): boolean; /** * 마이그레이션 상태가 실패했는지 확인 * * @param db - 데이터베이스 인스턴스 (선택적, 없으면 config 캐시 사용) * @returns 실패 여부 */ export declare function isMigrationFailed(db?: Database.Database): boolean; /** * Fallback이 필요한지 확인 (마이그레이션 실패 또는 대기 중) * * @param db - 데이터베이스 인스턴스 (선택적, 없으면 config 캐시 사용) * @returns Fallback 필요 여부 */ export declare function shouldUseFallback(db?: Database.Database): boolean; /** * 마이그레이션 재시도 준비 * 실패한 마이그레이션을 재시도하기 위해 상태를 'pending'으로 되돌립니다. * * @param db - 데이터베이스 인스턴스 */ export declare function prepareMigrationRetry(db: Database.Database): void; /** * 마이그레이션 상태를 강제로 업데이트 (관리자용) * * @param db - 데이터베이스 인스턴스 * @param status - 새로운 상태 * @param errorMessage - 에러 메시지 (선택적) */ export declare function forceSetMigrationStatus(db: Database.Database, status: FTS5MigrationStatus, errorMessage?: string): void; //# sourceMappingURL=fts5-migration-status.d.ts.map