Just making a note of this so I don't forget: in both the recent projects migration and an upcoming revisions migration, I'm using efficient SQL queries to perform edge migrations. However, these don't write the other half of the edge and can't be made to safely in a world where we separate databases across hosts.
At some point in the not-too-distant future, we should run migrations to repair the other half of these edges. There's no product impact for the moment (no UI exists to show all objects you're subscribed to, for instance) and repair is straightforward.