Is this covering all upgrade cases? And is this the place where all future checks for if a db is up to date will occur? Admittedly not tight with the code, but this feels maybe a little fragile?