@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
TypeScript
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