UNPKG

@vasoyaprince14/sql-analyzer

Version:

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

211 lines (173 loc) • 7.56 kB
## 1.2.0 - UI/UX: higher contrast, accessible headings, dark mode tuning - Charts: inline offline bar charts for schema health - SQL Fixes: split into Safe vs Destructive with warning - Security: grouped RLS fixes; less repetition - AI: executive summary hides empty content; resilient JSON parsing - Trends: TL;DR shows deltas vs previous run - Wizard: zero-arg interactive flow; model selection ## 1.0.0 - Initial public release under scoped package `@vasoyaprince14/sql-analyzer` - Enhanced CLI (`sql-analyzer`) with health, setup, config, examples commands - Strong TypeScript configuration and build artifacts - Beautiful HTML report UI with charts, executive dashboard, sections for schema, security, performance, cost, maintenance, and AI insights - Realistic cost analysis and actionable optimization/maintenance recommendations - Config presets (development, production, ci, comprehensive) and environment-based loading - Tests for configuration management # Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.0.0] - 2024-01-15 ### 🎉 Initial Release #### Added - **Enhanced Database Health Auditor**: Comprehensive PostgreSQL database analysis - **Modern HTML Reports**: Beautiful, interactive reports with charts and visualizations - **CLI Interface**: Rich command-line interface with progress indicators and colored output - **Security Analysis**: Row-Level Security (RLS) policy auditing and vulnerability detection - **Performance Analysis**: Query performance, index optimization, and table bloat detection - **Configuration Management**: Flexible configuration with presets and environment variable support - **AI Integration**: Optional OpenAI integration for intelligent recommendations - **Multiple Output Formats**: HTML, CLI, and JSON reporting options #### Features - **Schema Health Assessment** - Table structure validation - Normalization scoring - Foreign key integrity checks - Data type optimization analysis - Naming convention validation - **Index Analysis** - Unused index detection - Missing index recommendations - Duplicate index identification - Index efficiency scoring - Performance impact analysis - **Security Auditing** - Row-Level Security (RLS) policy evaluation - Permission over-privilege detection - Public access vulnerability scanning - SQL injection risk assessment - Security best practices validation - **Performance Optimization** - Table bloat detection and cleanup recommendations - Query performance analysis - Connection pool monitoring - Memory configuration review - Trigger performance evaluation - **Maintenance Scheduling** - Automated maintenance script generation - VACUUM and ANALYZE scheduling - Backup verification procedures - Log rotation recommendations - Statistics update automation - **Cost Analysis** - Storage usage breakdown - Optimization savings calculation - Monthly cost projections - Resource utilization analysis - **Configuration Analysis** - Database parameter optimization - Memory settings review - Security configuration audit - Performance tuning recommendations - **Trends & Insights** - Growth projections - Performance trend analysis - Optimization roadmap generation - Implementation timeline planning #### Technical Features - **TypeScript**: Full TypeScript support with strict typing - **Modern Architecture**: Clean, modular design with SOLID principles - **Comprehensive Testing**: Unit tests with Jest - **CLI Tools**: Rich command-line interface with Commander.js - **Configuration Management**: Flexible configuration with validation - **Error Handling**: Robust error handling and user-friendly messages - **Documentation**: Comprehensive documentation and examples #### CLI Commands - `sql-analyzer health` - Comprehensive database health audit - `sql-analyzer setup` - Interactive configuration wizard - `sql-analyzer config` - Configuration management - `sql-analyzer examples` - Usage examples and help #### Configuration Options - **Database Connection**: Multiple connection string formats - **AI Integration**: Optional OpenAI API integration - **Report Customization**: Custom branding and styling options - **Analysis Levels**: Basic, standard, and strict security levels - **Output Formats**: HTML, CLI, and JSON reporting - **Quality Gates**: CI/CD integration with failure conditions #### Supported Databases - ✅ PostgreSQL 9.6+ (Full support) - 🔄 MySQL 8.0+ (Planned for v1.1.0) - 🔄 SQL Server 2017+ (Planned for v1.2.0) - 🔄 Oracle 12c+ (Planned for v1.3.0) #### Package Features - **NPM Ready**: Optimized for npm publishing - **Global Installation**: Can be installed globally for CLI usage - **Programmatic API**: Full API for integration into other tools - **Legacy Compatibility**: Backward compatibility with existing tools - **Examples**: Comprehensive usage examples and templates ### 🔧 Technical Details #### Dependencies - **Runtime Dependencies**: - `commander` ^11.1.0 - CLI framework - `chalk` ^5.3.0 - Terminal styling - `pg` ^8.11.3 - PostgreSQL client - `dotenv` ^16.3.1 - Environment variable loading - `ora` ^7.0.1 - Terminal spinners - `cli-table3` ^0.6.3 - Terminal tables - `figlet` ^1.7.0 - ASCII art generation - `inquirer` ^9.2.12 - Interactive prompts - `fs-extra` ^11.1.1 - Enhanced file system operations - **Development Dependencies**: - `typescript` ^5.3.2 - TypeScript compiler - `@types/node` ^20.10.0 - Node.js type definitions - `@types/pg` ^8.10.9 - PostgreSQL client types - `jest` ^29.7.0 - Testing framework - `eslint` ^8.54.0 - Code linting - `prettier` ^3.1.0 - Code formatting #### Performance - **Analysis Speed**: 30 seconds - 20 minutes depending on database size - **Memory Usage**: Optimized for large databases with smart sampling - **Concurrent Processing**: Multiple analysis tasks run in parallel - **Caching**: Optional result caching for faster subsequent runs #### Security - **Data Privacy**: No data sent to external services (except optional AI) - **Secure Connections**: All database connections use secure protocols - **Least Privilege**: Minimal required database permissions - **Audit Logging**: All operations logged for security auditing ### 📦 Package Information - **Package Name**: `@sql-analyzer` - **Version**: 1.0.0 - **License**: MIT - **Author**: Prince Vasoya - **Repository**: https://github.com/vasoyaprince14/sql-optimizer - **Node.js**: 16.0.0+ required - **TypeScript**: Full support with type definitions ### 🚀 Getting Started ```bash # Install globally npm install -g @sql-analyzer # Generate report sql-analyzer health -c "postgresql://user:pass@localhost:5432/db" --format html # Interactive setup sql-analyzer setup ``` ### 🎯 Future Roadmap #### Version 1.1.0 (Planned) - MySQL database support - Query execution plan analysis - Historical trend analysis - Custom alerting rules #### Version 1.2.0 (Planned) - SQL Server support - Real-time monitoring capabilities - Slack/Teams integration - Advanced cost modeling #### Version 1.3.0 (Planned) - Oracle database support - Multi-database analysis - API rate limiting - Enterprise SSO integration --- For detailed usage instructions, see the [README.md](README.md) file. For contributing guidelines, see the [CONTRIBUTING.md](CONTRIBUTING.md) file.