might be faster than a table (e.g. we might be able to do it before every transaction if needed – I'm somewhat worried a long running process could corrupt the database data because the schema version was updated since it started)
Cons:
not portable (but we didn't really care about this anyway)
assumes we "own the database" (which is probably OK)
we won't be able to get rid of the old version check until 2.0 (because we still have a bunch of migrations that use it, and we'll drop the in 2.0)
PRAGMA user_version can be used within transactions: https://stackoverflow.com/a/18550663 (I also tested myself). The default value is 0.
Pros:
Cons: