Most of the app assumes that it can get the local UUID, or check if an
address represents the local user, by accessing TSAccountManager. This
information is cached; if it hasn't been loaded yet, TSAccountManager
uses a sneaky transaction to grab that data. However, sneaky
transactions (arbitrary read transactions) are (sensibly) not allowed
by GRDB 5 during migrations, and so that information is off-limits. To
avoid any issues, load and cache the account state once schema
migrations are complete, for use in data migrations.