rewrote the db updater with more promises (no particular reason, it's not faster or shorter or more readable, I just want to use promises)