Skip to content

Releases: peter7775/sql-graph-visualizer

SQL Graph Visualizer v1.1.0 - PostgreSQL Support

06 Sep 17:18
f881296

Choose a tag to compare

🚀 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.go

Validation

# Run comprehensive validation
./validate_postgresql_implementation.sh

Development

Essential Commands

# Build and run
make build && make run

# Run tests
make test

# Development setup
make dev

Impact

This implementation provides a solid foundation for multi-database support while maintaining the application's core functionality and performance characteristics. Users can now:

  1. Choose Their Database: Work with either MySQL or PostgreSQL
  2. Migrate Seamlessly: Switch between database types without code changes
  3. Scale Flexibility: Use the best database for their specific use case
  4. 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

06 Sep 14:59

Choose a tag to compare

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 mydb

Complete Schema Analysis

sql-graph-cli analyze --host localhost --port 3306 --username user --password pass --database mydb

Configuration Generation

sql-graph-cli config generate --output mydb-config.yml
sql-graph-cli config validate --config mydb-config.yml

Installation 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-cli

From 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.go

Docker

docker-compose up -d

Key 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-visualizer to sql-graph-visualizer
  • CLI tool renamed from mysql-graph-cli to sql-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 --help flag

Getting Started

  1. Download the appropriate binary for your platform
  2. Test database connection: sql-graph-cli test --host ... --database ...
  3. Analyze schema: sql-graph-cli analyze --host ... --database ...
  4. Review generated transformation rules
  5. 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

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Add tests for new functionality
  4. Ensure all tests pass: go test ./...
  5. 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