We ended up being saved by our traditionally "crappy" local dev process; me and the other dev had copies of the prod db on our development machines. And, naturally, we rarely updated them; the last time I had sync'ed it down was, conveniently, about four weeks ago. So they had some data loss between that "backup" and the oopsie-whoopsie, but far less major than their issues with the current state.
The most interesting thing to really come out of that was a set of tooling to precision restore an individual customer's data from a backup of this multi-tenanted database. That was something I see as pretty rare for engineers to consider in their backup strategy; you may have the backup, it may be easily restored, but it will take the world with it and maybe you don't want the whole world. We ended up using that a half dozen or more times over the next few years... against a far more comprehensive set of backups of course. Yeah, maybe it makes sense to store a history of every change made to every row; but for our needs it made a lot more sense to leverage backups and some glue scripts.