Product Decisions This Supports
- Build vs. buy for internal database tooling. This package supplies the pieces teams usually hand-roll for a Laravel admin panel: a connection-level overview, an in-app SQL workspace with query status, per-connection SQL history, CSV import/export, and grouped schema/destructive actions. That is roughly a quarter of engineering plus an ongoing security review burden you can avoid buying.
- Opening data access to non-engineers. Read-only SQL now executes under database read-only controls on supported drivers (PostgreSQL, MySQL, MariaDB), with a configurable server-side timeout. This is the difference between "SQL console for DBAs only" and "safe read access for support and analysts" — a concrete roadmap unblock rather than a nice-to-have.
- Tiered access as a product feature. Grouped transfer/schema/destructive actions with clearer warnings and empty states let you expose destructive operations to trusted operators without exposing them to everyone, instead of gating the whole surface behind a single admin role.
- Infra cost and blast-radius modeling. The 10,000-row default export cap (
max_export_rows) makes export load predictable and configurable per environment. Imports now process in 500-row chunks, so large CSVs are viable on modest workers rather than a memory-exhaustion incident waiting to happen.
- Compliance and security sign-off. Spreadsheet formula prefixing on CSV export removes a well-known CSV injection vector that blocks adoption in finance-adjacent workflows. Dependency bump to Filament 5.8.2 / CommonMark 2.10.3 clears the advisories found pre-release, which shortens procurement and security review.
- Multi-connection UX correctness. SQL history is now scoped to its connection and cleared on switch — a small change that prevents the "I ran that query against the wrong database" class of support ticket in environments with staging/prod or per-tenant connections.
Known product constraint to plan around: the SQL runner is disabled when table visibility restrictions are configured. If your roadmap includes tenant-scoped admin consoles where each customer sees only their own rows and users get ad-hoc SQL, that combination is not available here — treat it as a scoping constraint, not a bug.
Roadmap item worth logging: the export cap and the CSV-formula escaping both mean CSV is no longer a faithful data interchange format. Anything requiring byte-exact values must route through JSON or SQL export. If your users expect "download the table," expect follow-up requests for an uncapped or exact-value export path, and decide whether that is a config change or a product decision.
When to Consider This Package
Adopt when:
- You are on Laravel + Filament and already have an admin panel you can extend rather than a greenfield app to build.
- The use case is internal or back-office database work: support lookups, ops data fixes, analyst self-service reads, small data loads.
- You need multiple named connections and want per-connection context and history rather than a single hardcoded DSN.
- You want read-only-by-default access for non-DBA users on PostgreSQL, MySQL, or MariaDB, where the read-only controls and server-side timeouts are actually enforced.
- Bounded resource use matters — you would rather cap exports at a configurable row count and stream imports in chunks than explain a memory spike.
- Security review has previously flagged CSV injection or unresolved dependency advisories. Both are addressed in this release.
Look elsewhere when:
- You need BI or analytics — dashboards, scheduled reporting, warehouse sync. This is an operational SQL workspace, not a semantic layer.
- Your product requires ad-hoc SQL under row/table visibility restrictions. The runner is intentionally disabled in that configuration; a multi-tenant "bring your own query" surface is out of scope.
- Users genuinely need unbounded or exact-value exports. The 10k default and CSV formula escaping are deliberate safety choices; JSON/SQL export is the escape hatch, and if that is not acceptable, plan for custom work.
- You are not on Filament (or are pinned well below 5.8.x) — the dependency floor is now meaningful, and mixing versions is not worth the fight.
- You need read-only enforcement on database engines outside the three supported drivers; you would be relying on application-layer permissions alone.
- You are building a customer-facing data product where the tooling is part of the value proposition. Owning that surface is probably worth the cost.
How to Pitch It (Stakeholders)
For executives: this release turns a developer-grade SQL tool into something we can put in front of support and analyst staff without a bespoke security review each time. Three things matter commercially. First, read-only enforcement now sits at the database layer with server-side timeouts, so we can widen access without widening risk. Second, exports are capped and imports are chunked, which converts an unpredictable infrastructure cost into a configuration value. Third, the dependency advisories are cleared and the CSV injection vector is closed — that is the checklist item that has historically stalled internal tooling in review. Net: less build spend on internal tooling, faster sign-off, and a smaller blast radius if something goes wrong.
For engineering: 3.1.0 is additive plus behavior changes, no breaking API changes. The SQL workspace gains connection-level context and query status; history is now scoped per connection and resets on switch. Destructive and schema actions are grouped with clearer warnings. Two defaults changed and both deserve a look at your config: exports cap at 10,000 rows (max_export_rows) and CSV exports prefix formula-leading cells, so use JSON or SQL export wherever exact values are required. Imports now chunk at 500 rows to bound memory. Read-only SQL runs under driver-level read-only controls with a configurable timeout on PostgreSQL, MySQL, and MariaDB — and the runner disables itself entirely when table visibility restrictions are configured, which is the one constraint to check against any tenant-scoped designs. Lockfile is on Filament 5.8.2 and CommonMark 2.10.3, advisory-free.
One-line version: safe enough to hand to non-engineers, cheap enough to stop building ourselves, and scoped clearly enough that we know what it will not do.