Right now, new databases initialized with setupDB will start with no db_version in the metadata table, which corresponds to a value of -1.
This forces the migrate() code to run every single migration for the new database.
Instead, I think we should assume that setupDB is updated for any schema changes. That requires us to land changes to setupDB at the same time as introducing migrations. We should keep this requirement in mind, but I think we have stuck with it in the past.
Depends on D4154