feat(F-002): database foundation with migrations and dev compose
- node-pg-migrate + pg: baseline migration (extensions, app_meta) with working down - src/infrastructure/db fail-fast pool and typed query helper - docker-compose: postgres:16-alpine + redis:7-alpine with one-command up - table naming convention <module>_<table> documented in README - integration tests (6) against real PostgreSQL; strict identifier validation for test DDL after security-gate hardening round - deps justified in spec/tech.md; all gates approved; verify.sh green
This commit is contained in:
10
specs/F-002-database-foundation/TASKS.md
Normal file
10
specs/F-002-database-foundation/TASKS.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# TASKS — F-002 Database foundation with module-owned schemas
|
||||
|
||||
- TASK-001 Add deps: pg, node-pg-migrate (+ @types/pg dev); justify in spec/tech.md
|
||||
- TASK-002 Add `project/docker-compose.yml` (postgres:16-alpine + redis:7-alpine, volumes, dev creds) and `.env.example`
|
||||
- TASK-003 Add baseline migration `migrations/001_baseline.js` (node-pg-migrate; extensions + app_meta via pgm.sql, with down)
|
||||
- TASK-004 Add `src/infrastructure/db/pool.ts` (createPoolFromEnv fail-fast + query helper)
|
||||
- TASK-005 Wire npm scripts: db:up, db:down, db:status, docker:up, docker:down, test:integration
|
||||
- TASK-006 Integration tests: fresh up / no-op rerun / down rollback / pool helper roundtrip (skipIf no TEST_DATABASE_URL)
|
||||
- TASK-007 Document naming convention in project/README.md
|
||||
- TASK-008 Run full verification and write implementer evidence
|
||||
Reference in New Issue
Block a user