suman/sql-analyzer

A Laravel package for an SQL editor and visualizer with autocomplete and paginated results.

Installs: 5

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Language:Blade

pkg:composer/suman/sql-analyzer

dev-main 2026-02-21 06:43 UTC

This package is auto-updated.

Last update: 2026-02-21 06:43:49 UTC


README

A Laravel package that provides a SQL editor UI with query execution, saved queries, and optional AI-assisted SQL generation.

Requirements

  • PHP 8.2+
  • Laravel 12+
  • Python 3.8+ (for AI-assisted query generation)

Installation

  1. Require the package (local path or VCS):
composer require suman/laravel-sql-editor
  1. Publish package assets:
php artisan vendor:publish --tag=sql-analyzer-config
php artisan vendor:publish --tag=sql-analyzer-views
php artisan vendor:publish --tag=sql-analyzer-migrations
  1. Run migrations:
php artisan migrate
  1. (Optional) Install the Python environment for AI generation:
php artisan sql-analyze:install

Configuration

The config file is published to config/sql-analyzer.php.

  • prefix: Route prefix for the UI (default: sql-analyzer)
  • middleware: Middleware for routes (default: web)
  • connection: Database connection name (default: null)
  • max_rows: Max rows returned for queries (default: 1000)
  • allowed_statements: Allowed SQL statements (default: select)
  • root_url: Optional root URL override for the package
  • openai_api_key: Optional OpenAI API key override

Environment options:

SQL_ANALYZER_ROOT_URL=
SQL_ANALYZER_OPENAI_API_KEY=
OPENAI_API_KEY=

For Python database access, set your DB settings in .env:

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=your_db
DB_USERNAME=your_user
DB_PASSWORD=your_password

Usage

Open the UI in your browser:

/{prefix}

Example (default prefix):

/sql-analyzer

AI Query Generation

If you enable prompted query in the UI, the package will use the Python agent to generate SQL. Make sure:

  • Python venv is installed via php artisan sql-analyze:install
  • OPENAI_API_KEY or SQL_ANALYZER_OPENAI_API_KEY is set
  • The database credentials are configured in .env

Troubleshooting

  • If the Python script cannot be found, verify the package is installed correctly and rerun php artisan sql-analyze:install.
  • If you see context length errors, reduce the number of selected tables.

License

MIT