brewlog/migrations
Jon Seager b794d8a63f
feat(domain): add Gear entity with database migrations
Add Gear entity to track brewing equipment (grinders and brewers) with complete domain layer implementation.

Database changes:
- migrations/0006_add_gear.sql: Create gear table with category CHECK constraint and indexes
- migrations/0007_update_timeline_for_gear.sql: Document 'gear' as valid timeline entity type

Domain layer:
- Add GearId typed ID wrapper
- Create domain/gear.rs with:
  - GearCategory enum (Grinder/Brewer) with string conversion methods
  - Gear entity with make, model, notes fields
  - NewGear and UpdateGear DTOs
  - GearFilter for category-based filtering
  - GearSortKey with Make (default), Model, Category, CreatedAt options
- Add GearRepository trait to domain/repositories.rs with standard CRUD operations
- Register gear module in domain/mod.rs

This follows the same architectural pattern as the Bag entity.
2026-02-02 15:14:23 +00:00
..
0001_init.sql feat: add bags domain and repositories 2025-11-27 13:56:06 +00:00
0002_auth.sql feat!: use numeric, database-generated IDs throughout 2025-11-25 18:21:04 +00:00
0003_sessions.sql feat!: use numeric, database-generated IDs throughout 2025-11-25 18:21:04 +00:00
0004_add_bags.sql feat: add bags domain and repositories 2025-11-27 13:56:06 +00:00
0005_add_action_to_timeline.sql fix: add an action field to timeline events 2025-11-27 14:52:13 +00:00
0006_add_gear.sql feat(domain): add Gear entity with database migrations 2026-02-02 15:14:23 +00:00
0007_update_timeline_for_gear.sql feat(domain): add Gear entity with database migrations 2026-02-02 15:14:23 +00:00