feat: add D1 storage layer with per-module migration runner

- SqlStore interface + CF D1 wrapper + per-module factory (table prefix convention)
- init signature extended to ({ db, sql, env }); sql is null when DB binding absent
- custom migration runner walks src/modules/*/migrations/*.sql, tracks applied in _migrations table
- npm run db:migrate with --dry-run and --local flags; chained into deploy
- fake-d1 test helper with subset of SQL semantics for retention and history tests
This commit is contained in:
2026-04-15 13:21:53 +07:00
parent fb8c7518f7
commit 83c6892d6e
15 changed files with 1879 additions and 15 deletions

1016
package-lock.json generated

File diff suppressed because it is too large Load Diff