Skip to content

Commit da9b6fb

Browse files
committed
chore: deprecated per-plan fixtures and cleanup strategies
1 parent 398f8b0 commit da9b6fb

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

regresql/plans.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,14 +118,18 @@ func (q *Query) GetPlan(planDir string) (*Plan, error) {
118118
// Extract known top-level fields
119119
var planQuality *PlanQualityConfig
120120

121-
// Skip fixtures and cleanup fields (deprecated - emit warning for backwards compatibility)
121+
// Reject deprecated fixtures and cleanup fields with clear error messages
122122
if _, hasFixtures := raw["fixtures"]; hasFixtures {
123-
fmt.Fprintf(os.Stderr, "Warning: 'fixtures:' in plan file '%s' is deprecated and ignored\n", pfile)
124-
delete(raw, "fixtures")
123+
return nil, fmt.Errorf("'fixtures:' in plan file '%s' is no longer supported.\n"+
124+
"Per-test fixtures have been removed. Use snapshots instead:\n"+
125+
" 1. Move fixture data to regresql/fixtures/\n"+
126+
" 2. Run 'regresql snapshot build'\n"+
127+
" 3. Remove 'fixtures:' from this plan file", pfile)
125128
}
126129
if _, hasCleanup := raw["cleanup"]; hasCleanup {
127-
fmt.Fprintf(os.Stderr, "Warning: 'cleanup:' in plan file '%s' is deprecated and ignored\n", pfile)
128-
delete(raw, "cleanup")
130+
return nil, fmt.Errorf("'cleanup:' in plan file '%s' is no longer supported.\n"+
131+
"Cleanup strategies have been removed. Tests now always run in transactions that rollback.\n"+
132+
"Remove 'cleanup:' from this plan file.", pfile)
129133
}
130134

131135
if planQualityRaw, ok := raw["plan_quality"]; ok {

0 commit comments

Comments
 (0)