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
Requires
- php: ^8.1
- illuminate/support: ^10.0|^11.0|^12.0
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
- Require the package (local path or VCS):
composer require suman/laravel-sql-editor
- 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
- Run migrations:
php artisan migrate
- (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 packageopenai_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_KEYorSQL_ANALYZER_OPENAI_API_KEYis 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