Skip to content

v2.11.2

Latest

Choose a tag to compare

@tommyknocker tommyknocker released this 06 Dec 18:03
· 22 commits to master since this release

Release v2.11.2

This release extends the TUI Dashboard with 4 new panes, adds powerful table search and seed generation commands, and includes numerous bug fixes and improvements.

🎉 Major Features

Extended TUI Dashboard with Dual-Screen Support

The dashboard now includes 8 panes across 2 screens with full keyboard navigation:

  • Schema Browser - Browse database tables, view columns, indexes, and foreign keys
  • Migration Manager - List migrations with status, view file content with syntax highlighting, apply/rollback actions
  • Server Variables - View and search server configuration variables across all dialects
  • SQL Scratchpad - Interactive SQL query editor with autocomplete and query history

Navigate between screens with Tab/arrows, use keys 1-8 to jump to any pane, and activate global search with '/' key.

New Commands

Table Search (pdodb table search <table>)

  • Search values across all columns in a table
  • Support for JSON and array column search across all dialects
  • Options: --column, --limit, --json, --format

Seed Generate (pdodb seed generate <table>)

  • Extract data from database and generate seed files
  • Flexible filtering, sorting, and selective column export
  • Options: --limit, --where, --order-by, --exclude, --include, --format, --chunk-size, --preserve-ids, --skip-timestamps

🔧 Improvements

  • Enhanced IDE autocompletion for schema() method in migrations
  • New EnvConfigLoader class for better environment variable isolation
  • Centered pane titles and compact UI to fit 80x24 terminal
  • Optimized imports across 74 files

🐛 Bug Fixes

TUI Dashboard

  • Fixed connection count discrepancy in Connection Pool pane
  • Fixed Server Metrics pane showing incorrect Uptime and connection metrics
  • Fixed flickering in Active Queries pane in fullscreen mode
  • Fixed right border being overwritten by content
  • Fixed arrow key navigation (2-character escape sequences)
  • Fixed SQL Scratchpad autocomplete positioning and screen refresh
  • Fixed ESC key handling to exit fullscreen mode

Database Dialects

  • Fixed MySQL/MariaDB connection count calculation
  • Fixed MySQL/MariaDB uptime retrieval from SHOW VARIABLES
  • Fixed Oracle connection details display (added support for 'sid' and 'schema' keys)
  • Improved ServerMetricsPane metric labels for clarity

Code Quality

  • Fixed PHPStan errors in SeedCommand and SeedDataGenerator
  • Fixed event dispatcher state leakage in tests
  • Fixed Oracle tests failing due to environment variable pollution
  • Fixed CacheManager reflection issues with typed properties

📊 Test Coverage

  • Code coverage increased from ~65% to ~67% (Lines: 18519/27596)
  • Added comprehensive tests for Oracle classes, UI panes, and CLI commands
  • Total: 3806 tests, 12180 assertions

📝 Full Changelog

See CHANGELOG.md for complete list of changes.

🔗 Links