Database Overview
Firmiana uses an embedded H2 database with Micronaut Data JDBC for data access.
Entity Summary
User & Auth
Room & Events
E2EE
Media
Push & Notifications
Presence & Typing
Federation
Relationships
Indexes
Key indexes for performance (added via Flyway migrations V21–V22):
event(room_id, stream_ordering)— Event timeline queriesroom_user(room_id, user_id)— Membership lookupsdevice_inbox(created_at)— To-device message cleanupnotification(created_at)— Notification queriesevent_search(content)— Full-text search (B-tree fallback)