docs(dev): one behavioral test file per new table
Stops adding low-value schema integration tests. From now on a new database table gets one behavioral test file; the existing suites are trimmed separately.
Before. A new table shipped two or three test files, over a thousand lines, most of it checking schema shape: each column exists with the right type and nullability, the primary key and index names, index column order, which indexes are unique, foreign-key delete actions, partition count and hash key, identifier lengths, plus a sweep inserting one accepted row per enumerated value of unrelated columns. A smaller part checked behavior: constraint violations, cascades, the static shape of the migration file.
After. One file, behavior only:
- what the table refuses, one row per
CHECKbound and per foreign key; - what a delete cascades into;
- transaction-scoped properties, such as a deferrable constraint;
- rows the table accepts on purpose that a later consumer must handle;
- the migration file's shape, parsed rather than run.
The schema-shape checks are dropped: the tests that query PostgreSQL's system tables to confirm a column, index, or constraint exists with the expected name and type. The db:structure-check CI job regenerates structure.sql on every migration change and fails on any drift, so a Go test for the same fact is a second copy of the same check. The one thing the dump does not pin, identifier truncation, is checked once when writing the migration and stated in the MR.