3 ms·
At my job the DB is backwards compatible by one release. This means we roll back code, not data. It takes a little longer to do something like delete a column,
by was_boring 10y ago
At my job the DB is backwards compatible by one release. This means we roll back code, not data. It takes a little longer to do something like delete a column, but it's worth it.
Rainforest QA had a blog post on strategies a while ago.
- londons_explore 10y agoSimply testing that you maintain backwards compatibility is a royal pain though. One could imagine a test rig which created a db with test users in it, then ran v1 of the software, then v2, then v1 again, and checked v1 didn't crash on the now mutated datastructures. Most datastore mutations might only happen on certain user actions and inputs, so making sure you get full coverage would be rather tricky.