Earlier quoted context omitted.
One of the very best development teams I worked with had an interesting take, they always did database migrations first. Any new state that was to be added to the system could only be done so by first adding the new database fields or tables. This ensure that version 1 of the code would work with version 1 and 2 of the database. They would then roll out version 2 of the code, but have the new features hidden behind a…
Not saying it is a bad idea, but the way it works is it ensures certain things happen that you would normally want to happen, namely: * test of a rollback procedure, * developers thinking about backwards compatibility and rollback procedure. The main issue I see with this approach is that the test of the rollback is only partial. Just because the schema is usable by the previous version of the application does not me…
It's a testing event if you make it a testing even. The team I'm referring to regularly makes a dump from production, run it through a PII anonymizer and performs migration test on that.