Hacker News new | ask | show | jobs
by jacquesm 1529 days ago
Because it is very difficult to maintain relational integrity during a restore like that.
1 comments

Gotcha. I guess you could be heavy-handed and disable foreign key checks, but who knows what other bugs that would bring into the mix.
The other difficulty is if you don't restore the entire state in a single transaction. Imagine you have partial data restored in Table A but haven't updated Table B correspondingly. Now some other program that consumes Table A and Table B and doesn't have error handling will crash (or worse, mutate state in other weird ways).
That is relational integrity.