brewlog/migrations
Jon Seager 949f65ac16
refactor(timeline): denormalize data and simplify frontend
Database:
- Add slug, roaster_slug, brew_data_json columns to timeline_events
- Migration backfills existing data from related tables
- Remove 9-way LEFT JOIN from list query, read directly from columns

Frontend:
- Use CSS :nth-of-type(odd/even) for alternating timeline layout
- Remove JavaScript class manipulation when appending month events
- Simplify infinite scroll month-merging logic

This eliminates query-time JOINs across 5 tables and ~20 lines of
client-side JavaScript for pattern maintenance.
2026-02-03 08:53:29 +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_constraint_for_gear.sql fix: correct the database migration for gear 2026-02-02 15:58:31 +00:00
0008_remove_gear_notes.sql refactor(gear): remove notes field from Gear entity 2026-02-02 16:16:54 +00:00
0009_add_brews.sql feat(brews): add domain layer and database migration 2026-02-02 19:29:23 +00:00
0010_denormalize_timeline.sql refactor(timeline): denormalize data and simplify frontend 2026-02-03 08:53:29 +00:00