a   dumb   question  but can you explain why the fk constraints need to be dropped before changing the indices  before being re created on exit  btw i found it a tiny bit jarring for enter to tear stuff down and then exit to set it up again  but that is just me 