Product Decisions This Supports
- Developer Productivity: Eliminates manual SQL queries for schema discovery, reducing cognitive load and errors in tasks like migration scripting or ORM development.
- Dynamic UI/Tooling: Enables auto-generated admin panels, CRUD interfaces, or schema validation tools without hardcoding metadata.
- Data Migration & Compliance: Facilitates schema audits, diffing between environments, or pre-migration validation (e.g., "Does this column exist in staging?").
- Build vs. Buy: Avoids reinventing schema introspection logic (e.g., parsing
information_schema or vendor APIs) while allowing custom extensions for niche needs.
- Roadmap Priorities:
- Phase 1: Integrate into internal migration tools or CI/CD validation.
- Phase 2: Build a schema explorer UI for developers.
- Phase 3: Extend for foreign key resolution or stored procedure introspection (if needed).
When to Consider This Package
-
Adopt if:
- Your project uses Atlas.Pdo and needs structured schema metadata (tables, columns, constraints) programmatically.
- You’re building tools that adapt to database schemas (e.g., dynamic forms, migration helpers, or testing frameworks).
- Your team wants to reduce manual SQL queries for schema discovery while maintaining cross-database compatibility.
- You prioritize developer experience over minimal dependencies (MIT license, no vendor lock-in).
-
Look elsewhere if:
- You’re not using Atlas.Pdo (this package is tightly coupled to it; alternatives like Doctrine DBAL or raw PDO may fit better).
- Your use case requires real-time schema events (e.g., triggers) or graphical tools (consider IDE plugins or Adminer).
- You need advanced features like foreign key graphs, index details, or stored procedure introspection (this package focuses on tables/columns).
- Your database is unsupported (e.g., Oracle, SQL Server) or you need vendor-specific optimizations.
How to Pitch It (Stakeholders)
For Executives:
"Atlas.Info automates schema discovery, saving our team hours per sprint on manual queries for migrations, testing, and tooling. For example, it can auto-generate admin panels or validate database states in CI—cutting debugging time by 30–50%. It’s a lightweight, MIT-licensed package that integrates with our existing Atlas.Pdo stack, with no vendor lock-in. The cost? Just developer time to plug it into our workflows, with immediate ROI in productivity."
For Engineers:
*"This package gives you structured schema metadata (column types, constraints, defaults) via a clean API—no more parsing information_schema or writing raw SQL. Key wins:
- Cross-database support: Works out of the box for MySQL, PostgreSQL, SQLite, and MariaDB.
- Simple API: Methods like
fetchTableNames() and fetchColumns() return arrays with all the details you need.
- Extensible: Need more? The codebase is open for custom logic (e.g., adding foreign key resolution).
- Production-ready: Used by the AtlasPHP team, with fixes for edge cases (e.g., MySQL ENUMs, PostgreSQL sequences).
Use it for:
- Building schema-aware tools (e.g., migration helpers, dynamic UIs).
- Validating database states in tests or CI.
- Dynamic query builders that adapt to your schema.
Trade-off: Requires Atlas.Pdo, but if you’re already using it, this is a no-brainer for schema introspection."*
For Data Teams:
*"Atlas.Info helps audit and document schemas programmatically, reducing errors in data pipelines. For example:
- Migration safety: Validate that staging/prod schemas match before deployments.
- Data quality: Enforce constraints (e.g.,
NOT NULL checks) in ETL processes.
- Discoverability: Generate up-to-date schema docs automatically.
It’s a lightweight alternative to manual SQL dumps or third-party tools like SchemaSpy."*