UNPKG

@vasoyaprince14/sql-analyzer

Version:

🚀 Enhanced SQL database analyzer with AI-powered insights, comprehensive security analysis, RLS policy auditing, and beautiful HTML reports

89 lines • 2.9 kB
import { EnhancedDatabaseHealthReport } from './enhanced-database-auditor'; import { ConfigManager, SqlAnalyzerConfig, configPresets } from './config'; export interface AnalysisOptions { format?: 'cli' | 'html' | 'json' | 'md'; outputPath?: string; includeAI?: boolean; preset?: keyof typeof configPresets; customConfig?: Partial<SqlAnalyzerConfig>; } export declare class EnhancedSQLAnalyzer { private configManager; private client; private auditor; private reportGenerator; constructor(connectionConfig: any, options?: AnalysisOptions); /** * Perform comprehensive database analysis */ analyze(): Promise<EnhancedDatabaseHealthReport>; /** * Generate and save report */ generateReport(report: EnhancedDatabaseHealthReport): Promise<string>; /** * Analyze and generate report in one step */ analyzeAndReport(options?: { returnReport?: boolean; skipSave?: boolean; exportSql?: boolean; onProgress?: (step: string, progress: number) => void; }): Promise<{ reportPath?: string; report?: EnhancedDatabaseHealthReport; summary: AnalysisSummary; }>; /** * Generate executive summary */ generateSummary(report: EnhancedDatabaseHealthReport): AnalysisSummary; /** * Get configuration for easy access */ getConfig(): SqlAnalyzerConfig; /** * Update configuration */ updateConfig(updates: Partial<SqlAnalyzerConfig>): void; private getConnectionConfig; private ensureDirectoryExists; private getTimestamp; private calculateSecurityRisk; private calculatePerformanceRisk; private calculateOverallRisk; private getTopRecommendations; private collectSqlFixes; private estimateImplementationTime; /** * Static method to quickly analyze a database with minimal setup */ static quickAnalysis(connectionString: string, options?: { format?: 'cli' | 'html' | 'json'; includeAI?: boolean; outputPath?: string; }): Promise<AnalysisSummary>; /** * Static method for CI/CD environments */ static ciAnalysis(connectionString: string): Promise<{ passed: boolean; score: number; criticalIssues: number; reportPath: string; }>; } export interface AnalysisSummary { overallScore: number; totalIssues: number; criticalIssues: number; securityRisk: 'low' | 'medium' | 'high' | 'critical'; performanceRisk: 'low' | 'medium' | 'high' | 'critical'; costSavingsPotential: number; topRecommendations: string[]; estimatedImplementationTime: string; riskLevel: 'low' | 'medium' | 'high' | 'critical'; } export default EnhancedSQLAnalyzer; export { ConfigManager, configPresets, type SqlAnalyzerConfig }; //# sourceMappingURL=enhanced-sql-analyzer.d.ts.map