Scrum4Me/prisma/migrations
Madhura68 79367dda7b feat(ST-1101): add ClaudeQuestion model + notify_question_change trigger
Schema (prisma/schema.prisma):
- Nieuw model ClaudeQuestion: id (cuid), story_id (FK Cascade), task_id?
  (FK SetNull), product_id (FK Cascade — gedenormaliseerd uit story.product_id
  voor SSE-filter zonder join), asked_by (FK Restrict — Claude-token-houder),
  question (Text), options (Json? — string[] voor multi-choice), status
  ('open'|'answered'|'cancelled'|'expired'), answer (Text?), answered_by
  (FK SetNull), answered_at?, created_at, expires_at
- Indexes: (story_id, status), (product_id, status), (status, expires_at)
- Back-relations: User.asked_questions (ClaudeQuestionAsker),
  User.answered_questions (ClaudeQuestionAnswerer), Story.claude_questions,
  Task.claude_questions, Product.claude_questions

Migratie (20260427224849_add_claude_questions):
- Prisma-gegenereerde DDL voor claude_questions + indexes + 5 FK's
- Toegevoegde notify_question_change() functie + claude_questions_notify trigger
  op AFTER INSERT/UPDATE
- Emit op BESTAANDE scrum4me_changes-channel met entity:'question' (i.t.t. M10
  dat eigen scrum4me_pairing-channel kreeg) — solo-route in ST-1104 moet
  entity='question' wegfilteren om regressie op solo-board te voorkomen
- Trigger leest story.assignee_id voor "wacht op jou"-emphase in payload
- DELETE niet ondersteund — questions gaan naar answered/cancelled/expired

Verification: Node pg-client roundtrip via DATABASE_URL toonde correcte payloads
bij INSERT (op=I, status=open) en UPDATE (op=U, status=answered) met alle FK-IDs
en assignee_id correct uit story-join.

Volgende stap M11: ST-1102 — vier MCP-tools in scrum4me-mcp-repo
(ask_user_question, get_question_answer, list_open_questions, cancel_question).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 00:50:26 +02:00
..
20260424123750_init fix: SQLite migraties vervangen door PostgreSQL migratie voor Neon 2026-04-24 14:38:01 +02:00
20260425102419_add_task_implementation_plan feat: ProductMember — team management for product backlogs 2026-04-25 13:09:44 +02:00
20260425103147_add_todo_product_id feat: Todo altijd gekoppeld aan product backlog 2026-04-25 12:35:40 +02:00
20260425110346_add_product_members feat: ProductMember — team management for product backlogs 2026-04-25 13:09:44 +02:00
20260425112843_add_user_profile feat: gebruikersprofiel met avatar, bio en uitgebreide beschrijving 2026-04-25 13:30:38 +02:00
20260425210710_add_review_task_status feat(ST-350): add Story.assignee_id schema migration 2026-04-26 16:03:29 +02:00
20260426140229_add_story_assignee feat(ST-350): add Story.assignee_id schema migration 2026-04-26 16:03:29 +02:00
20260426193458_add_user_email feat(ST-507): add optional email field to User schema 2026-04-26 19:37:38 +02:00
20260426195800_add_todo_description feat(ST-509): add optional description column (max 2000 chars) to Todo 2026-04-26 19:59:52 +02:00
20260426202231_add_entity_codes feat(ST-507): add optional code fields to Product, Pbi and Story 2026-04-26 20:36:26 +02:00
20260426214905_add_story_log_metadata Todo description, entity codes, REST API extensions and Claude Code hardening (ST-509/511/512/513) (#2) 2026-04-26 23:40:54 +02:00
20260426230316_add_solo_realtime_triggers feat(M8): Realtime Solo Paneel via Postgres LISTEN/NOTIFY (ST-801..ST-806) (#8) 2026-04-27 13:59:32 +02:00
20260427000216_extend_realtime_payload feat(M8): Realtime Solo Paneel via Postgres LISTEN/NOTIFY (ST-801..ST-806) (#8) 2026-04-27 13:59:32 +02:00
20260427165329_add_user_active_product_id feat(M9): active product backlog — persistent active PB, NavBar splits, sprint card styling (#10) 2026-04-27 20:25:13 +02:00
20260427200734_add_login_pairing M10: Password-loze inlog via QR-pairing (ST-1001..ST-1008) (#12) 2026-04-28 00:01:04 +02:00
20260427224849_add_claude_questions feat(ST-1101): add ClaudeQuestion model + notify_question_change trigger 2026-04-28 00:50:26 +02:00
migration_lock.toml fix: SQLite migraties vervangen door PostgreSQL migratie voor Neon 2026-04-24 14:38:01 +02:00