Round Trips¶
Round-trip tests validate the complete consumer path instead of a single operation.
Baseline round trip¶
The latest backend suite:
- Starts a provider.
- Initializes a temporary project.
- Writes the reference schema models.
- Generates and applies the initial migration.
- Captures expected tables and indexes.
- Captures backend semantic metadata.
The suite covers PostgreSQL, MySQL, MariaDB, and ClickHouse. SQLite has a separate public CLI and reference schema suite.
Generate-models round trip¶
The reverse-engineering suite:
- Applies the reference schema to a real provider.
- Runs
generate-models. - Verifies that the generated file contains the application tables.
- Excludes dbwarden-owned bookkeeping tables from application model input.
- Enables ClickHouse engine metadata where appropriate.
- Reloads the generated file through dbwarden.
- Runs public diff and requires convergence.
The test also exercises SQLite table filtering. MariaDB has a strict XFAIL for the known release table-ordering issue, so a future fixed release produces an unexpected pass and requires a deliberate review.
Evolution round trip¶
The evolution suite creates a table, adds a column, rolls the change back, and reapplies it. ClickHouse uses an explicit MergeTree table and checks that engine metadata remains present while columns change.