-
Mahmoud Aglan authored
The runner was calling splitStatements(string) directly on migration['up'] without checking whether it was a Closure, causing a fatal type error on all idempotent closure-based migrations (Phase_94_001, _002, Phase_96_001). Now checks is_callable() first and invokes the closure, falling back to string SQL splitting for plain-string migrations. Co-Authored-By:Claude Sonnet 4.6 <noreply@anthropic.com>
0bcd5891