schema.ts was 507 lines once chat_read_state landed. Each migration now lives in its own file under src/main/database/migrations and the installer iterates a declarative MIGRATIONS list. Schema file is back under the 500-line component ceiling without changing behaviour.