Define projection table schemas with migration module #44

Open
opened 2026-03-14 23:54:58 +00:00 by freemo · 0 comments
Owner

Metadata

  • Commit Message: feat(event-sourcing): add projection table schema migration module
  • Branch: feature/m1-v12-projection-schema

Background

Projectors reference :game_objects, :players, :rooms tables but no schema definitions or migrations exist.

Expected Behavior

Aethyr::Core::EventSourcing::SchemaMigration creates all projection tables on first enable.

Acceptance Criteria

  • Schema migration module defines all 3 table schemas
  • Tables are auto-created when event_sourcing_enabled transitions to true
  • Idempotent (safe to run multiple times)

Subtasks

  • Create SchemaMigration module in lib/aethyr/core/event_sourcing/
  • Define :game_objects, :players, :rooms table schemas
  • Wire migration into SequentSetup.configure
  • Tests: Unit tests for schema creation
  • Run bundle exec rake unit, fix any errors

Definition of Done

This issue is complete when all subtasks are done, commit created on the specified branch, PR submitted and merged.

## Metadata - **Commit Message**: `feat(event-sourcing): add projection table schema migration module` - **Branch**: `feature/m1-v12-projection-schema` ## Background Projectors reference `:game_objects`, `:players`, `:rooms` tables but no schema definitions or migrations exist. ## Expected Behavior `Aethyr::Core::EventSourcing::SchemaMigration` creates all projection tables on first enable. ## Acceptance Criteria - [ ] Schema migration module defines all 3 table schemas - [ ] Tables are auto-created when `event_sourcing_enabled` transitions to true - [ ] Idempotent (safe to run multiple times) ## Subtasks - [ ] Create `SchemaMigration` module in `lib/aethyr/core/event_sourcing/` - [ ] Define `:game_objects`, `:players`, `:rooms` table schemas - [ ] Wire migration into `SequentSetup.configure` - [ ] Tests: Unit tests for schema creation - [ ] Run `bundle exec rake unit`, fix any errors ## Definition of Done This issue is complete when all subtasks are done, commit created on the specified branch, PR submitted and merged.
freemo added this to the v1.2.0 milestone 2026-03-14 23:54:58 +00:00
freemo self-assigned this 2026-03-15 04:25:22 +00:00
freemo modified the milestone from v1.2.0 to v1.0.0 2026-03-15 23:19:36 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: aethyr/Aethyr#44
No description provided.