I have two beta instances:
[A] with a bare minimum of apps (not even all core apps) – occ upgrade from latest 27 to 28.0.0beta1 worked out just fine.
[B] with any app installed that I found remotely interesting – occ upgrade from latest 27 to 28.0.0beta1 led to the result reported by eehmke.
Is @blizzz proposed, these steps did help:
drop index ts_session on oc_talk_sessions;./occ upgrade./occ db:add-missing-indices
(although, according to /settings/admin/overview, there were no missing indices)
My conclusion: Some migration is broken and needs to be fixed. I expect any instance to break that went through all(!) 27 (beta) versions.