DBIO
view release on metacpan or search on metacpan
docs/adr/0006-native-deploy-owns-sql-generation.md view on Meta::CPAN
## Context
DBIx::Class generated DDL through `SQL::Translator`: `deployment_statements()`
handed the schema to SQLT, which translated the in-memory model into
engine-specific `CREATE TABLE` SQL on the fly. SQLT was therefore a hard runtime
dependency of any DBIx::Class app that deployed a schema, and the quality of the
DDL was bounded by SQLT's producer for each engine.
The DBIO fork split every database into its own driver distribution (ADR 0001 /
Heritage). That split makes a per-engine DDL producer owned by the driver the
natural home for deployment, and removes the reason to route DDL through a
central translator that no driver controls.
## Decision
Each DBIO driver owns native DDL generation; `SQL::Translator` is demoted to an
optional dependency; and `deployment_statements()` changes contract â it no
longer generates SQL on the fly.
- The native deploy layer is rooted at `DBIO::Deploy::Base`
( run in 0.501 second using v1.01-cache-2.11-cpan-7fcb06a456a )