Releases: peter7775/sql-graph-visualizer
SQL Graph Visualizer v1.1.0 - PostgreSQL Support
🚀 SQL Graph Visualizer v1.1.0 - PostgreSQL Support Implementation
This major feature release introduces comprehensive PostgreSQL support to the SQL Graph Visualizer, enabling seamless operation with both MySQL and PostgreSQL databases.
Key Features
Multi-Database Architecture
- Generic DatabasePort Interface: Unified interface abstracting database operations
- Repository Factory Pattern: Dynamic database repository selection
- Full Backward Compatibility: All existing MySQL functionality preserved
PostgreSQL Integration
- Complete Connectivity: Full PostgreSQL driver integration with connection pooling
- Query Execution: Supports all SQL operations needed for data transformation
- Configuration Support: Environment-based configuration with SSL options
- Chinook Sample Database: Ready-to-use PostgreSQL setup with sample data
Technical Improvements
- Refactored Transform Service: Updated to use generic database interface
- Enhanced Configuration System: Support for database type selection via config
- Docker Compose Setup: Complete PostgreSQL development environment
- Validation Suite: Comprehensive testing and validation scripts
Quick Start
PostgreSQL Setup
# Start PostgreSQL with Chinook sample data
docker-compose -f docker-compose.postgresql.yml up -d
# Run application with PostgreSQL
CONFIG_PATH=config/config-postgresql-chinook.yml go run cmd/main.goValidation
# Run comprehensive validation
./validate_postgresql_implementation.shDevelopment
Essential Commands
# Build and run
make build && make run
# Run tests
make test
# Development setup
make devImpact
This implementation provides a solid foundation for multi-database support while maintaining the application's core functionality and performance characteristics. Users can now:
- Choose Their Database: Work with either MySQL or PostgreSQL
- Migrate Seamlessly: Switch between database types without code changes
- Scale Flexibility: Use the best database for their specific use case
- Maintain Performance: Enjoy consistent performance across both database types
Related
- Closes Issue #7: PostgreSQL Support Implementation
- Pull Request #14: PostgreSQL Support Implementation - Issue #7
Full Changelog: v1.0.0...v1.1.0
SQL Graph Visualizer v1.0.0 - First Release
SQL Graph Visualizer v1.0.0 - First Release
This is the first major release of SQL Graph Visualizer - a powerful Go application that transforms SQL database structures into Neo4j graph databases with interactive visualization capabilities.
What's New in v1.0.0
Core Features
Direct Database Connection (Issue #10)
- Complete workflow from database connection to Neo4j transformation
- Automatic schema discovery and analysis
- Security validation with connection assessment
- Production-ready performance (sub-100ms analysis)
Professional CLI Tool - sql-graph-cli
- 4 Main Commands:
analyze,test,generate,config - Interactive experience with rich console output
- Configuration management with YAML support
- Built with Cobra framework for professional CLI experience
Intelligent Schema Analysis
- Automatic table discovery and relationship detection
- Junction table recognition for many-to-many relationships
- Graph pattern detection (star schema, hub-and-spoke)
- Foreign key relationship mapping
- Data size estimation and performance optimization
Security & Validation
- Connection security validation (SSL/TLS checks)
- Permission analysis and read-only enforcement
- Timeout controls and connection pooling
- Security level rating (LOW/MEDIUM/HIGH)
Technical Specifications
Architecture
- Domain Driven Design (DDD) with clean architecture
- Layered structure (domain, application, infrastructure, interface)
- Repository pattern with ports and adapters
- Dependency injection and separation of concerns
Supported Technologies
- Source Database: MySQL 8.0+ (PostgreSQL planned for v1.1.0)
- Target Database: Neo4j 4.4+
- Language: Go 1.24+
- API Layer: GraphQL (gqlgen), REST (Gorilla Mux)
- Configuration: YAML-based with Viper
Performance
- Analysis Speed: Sub-100ms for typical databases
- Memory Efficient: Configurable batch processing
- Connection Pooling: Optimized for high throughput
- Scalable: Handles datasets from small to enterprise-scale
Comprehensive Testing
Integration Tests
- Real database validation with Sakila test database
- Full workflow testing from connection to analysis
- Performance benchmarking and validation
- Error handling and edge case coverage
Test Results (Sakila Database)
- 16 tables analyzed successfully
- 16 transformation rules generated (14 nodes, 2 relationships)
- 4 graph patterns identified (star schema variants)
- 10,395 rows processed (~4.96 MB dataset)
- Analysis completed in 50-60ms
Usage Examples
Quick Database Test
sql-graph-cli test --host localhost --port 3306 --username user --password pass --database mydbComplete Schema Analysis
sql-graph-cli analyze --host localhost --port 3306 --username user --password pass --database mydbConfiguration Generation
sql-graph-cli config generate --output mydb-config.yml
sql-graph-cli config validate --config mydb-config.ymlInstallation Options
From GitHub Releases
# Download binary for your platform
wget https://github.com/peter7775/sql-graph-visualizer/releases/download/v1.0.0/sql-graph-cli-linux-amd64
chmod +x sql-graph-cli-linux-amd64
sudo mv sql-graph-cli-linux-amd64 /usr/local/bin/sql-graph-cliFrom Source
git clone https://github.com/peter7775/sql-graph-visualizer.git
cd sql-graph-visualizer
go build -o sql-graph-cli cmd/sql-graph-cli/main.goDocker
docker-compose up -dKey Benefits
For Database Administrators
- Instant schema visualization and analysis
- Security assessment of database connections
- Performance insights and optimization recommendations
- Non-intrusive read-only analysis
For Developers
- Automatic rule generation for Neo4j transformation
- Clean API for programmatic access
- Flexible configuration with YAML
- Comprehensive documentation and examples
For Data Scientists
- Graph-based data analysis capabilities
- Relationship discovery and pattern recognition
- Interactive visualization with Neovis.js
- Export capabilities for further analysis
Breaking Changes
This is the first release, so no breaking changes apply. However, note:
Project Rename
- Project renamed from
mysql-graph-visualizertosql-graph-visualizer - CLI tool renamed from
mysql-graph-clitosql-graph-cli - This prepares for PostgreSQL support in upcoming releases
System Requirements
Minimum Requirements
- Operating System: Linux, macOS, Windows
- Go Version: 1.24+ (if building from source)
- Source Database: MySQL 8.0+
- Target Database: Neo4j 4.4+
- Memory: 512MB RAM minimum
- Disk Space: 100MB for installation
Recommended Requirements
- Memory: 2GB RAM for optimal performance
- CPU: Multi-core processor for parallel processing
- Network: Stable connection for database access
- Docker: For containerized deployment
Security
Connection Security
- SSL/TLS validation and enforcement
- Read-only access validation
- Permission analysis and recommendations
- Connection timeout and retry logic
Data Protection
- No data modification - read-only operations only
- Secure credential handling with environment variables
- Audit logging of all database operations
- Configurable access controls
Documentation
Available Documentation
- README.md: Complete project overview and quick start
- DIRECT_DATABASE_CONNECTION.md: Detailed technical documentation
- Configuration examples: Multiple use case scenarios
- CLI help: Built-in help system with
--helpflag
Getting Started
- Download the appropriate binary for your platform
- Test database connection:
sql-graph-cli test --host ... --database ... - Analyze schema:
sql-graph-cli analyze --host ... --database ... - Review generated transformation rules
- Deploy to production with your Neo4j instance
Roadmap
Upcoming in v1.1.0 (PostgreSQL Support)
- PostgreSQL database support (Issue #7)
- Multi-database analysis capabilities
- Enhanced CLI commands for PostgreSQL-specific features
- Extended configuration options
Future Releases
- v1.2.0: Advanced visualization features
- v1.3.0: Real-time data synchronization
- v1.4.0: Additional database engines (SQLite, Oracle)
- v2.0.0: Reverse transformation (Neo4j → SQL)
Contributing
We welcome contributions! See our Contributing Guide for details.
How to Contribute
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Add tests for new functionality
- Ensure all tests pass:
go test ./... - Submit pull request with detailed description
Areas for Contribution
- PostgreSQL support implementation
- Additional database drivers
- Performance optimizations
- Documentation improvements
- Testing and quality assurance
Known Issues
Current Limitations
- MySQL support only (PostgreSQL coming in v1.1.0)
- Basic visualization (advanced features planned)
- Single-database analysis (multi-database planned)
Workarounds
- Use MySQL-compatible databases for now
- Multiple CLI runs for multi-database analysis
- External visualization tools for advanced features
Support
Community Support
- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: Community questions and ideas
- Documentation: Comprehensive guides and examples
Commercial Support
- Enterprise licenses available for commercial use
- Priority support and custom development
- Training and consulting services
Contact: [email protected] for commercial licensing
Thank You!
Special thanks to:
- Neo4j community for the excellent graph database
- Go community for the robust development ecosystem
- Early testers who provided valuable feedback
- Contributors who helped shape this first release
Release Statistics
- Development Time: 3 months
- Code Lines: 15,000+ lines of Go code
- Test Coverage: 85%+ with integration tests
- Documentation: 50+ pages of comprehensive docs
- Docker Images: Multi-platform support (linux/amd64, linux/arm64)
Download now and start transforming your SQL databases into powerful graph visualizations! 🚀
Made with ❤️ by the SQL Graph Visualizer Team