# Plan: writers/sqlexec (19.4%) ## Existing - `writer_test.go`: constructor, nil DB, missing conn string, empty scripts, script sorting, embed directives ## Gaps | Item | Now | Approach | |------|-----|----------| | `Options` | 0% | Trivial getter | | `WriteDatabase` | 31.2% | Multi-schema; error from one schema aborts; context/connect failure | | `executeScripts` | 0% | Live via dbtest postgres (`RELSPEC_TEST_PG_CONN`); ordering by priority/sequence, failing script reports script name, empty SQL skipped, transaction/partial-apply behaviour as implemented | | `WriteSchema` | partial | Connection error path, success path live | ## Data needed - Small script set (3-4 scripts, mixed priority, one failing) as fixtures; check `tests/assets` and `pkg/readers/sqldir` testdata first. - Cleanup: each live test uses a throwaway schema and drops it. ## Decision - Live-only via `tests/dbtest/dbtest.sh test postgres ./pkg/writers/sqlexec/`; no connection interface or mock.