&gt;  It surprises me that an engineering group that is obviously so clever and competent would come up with a process that lost track of the required execution order of two pieces of DDL.<p>To me it seemed that it was a bug in the tooling that split the index change into two separate change requests. I&#x27;m sure a change request supports more than one piece of DDL, and it must have worked in the normal case, otherwise they would have run into this problem much earlier. So it was likely some weird corner case.<p>Now that I think about it, this could happen to us as well. We have peer review for each database change, but only at the source level (so, definition of the schema); the actual commands for schema changes are usually generated automatically. If some bug in that step existed that was only triggered in weird corner cases, we&#x27;d be screwed.<p>A backup of our main database takes about 7 hours to restore, and then we&#x27;d have to reply the binlogs from the time of the last snapshot up to the failed schema changes, so I guess we&#x27;d lose about a solid work day if things went down south. Yikes.