* revert(core): Remove typeorm patches, but still enforce transactions on every migration
This reverts #6519
* always re-enable foreign keys, and explicitly rollback transaction
`PRAGMA foreign_keys` is [a no-op within a sqlite transaction](https://www.sqlite.org/pragma.html#pragma_foreign_keys).
This causes cascade deletes to happen when we create a new user table, and drop the old user table.
* always each DB migrations in a transaction
* `VACUUM` isn't allowed inside transactions.
* `PRAGMA foreign_keys` are automatically toggled before and after every down migration