title: Testing and Managing database versions against code versions
body: <p>As you develop an application database changes inevitably pop up.  The trick I find is keeping your database build in step with your code.  In the past I have added a build step that executed SQL scripts against the target database but that is dangerous in so much as you could inadvertanly add bogus data or worse.  </p>
  
  <p>My question is what are the tips and tricks to keep the database in step with the code?  What about when you roll back the code?  Branching?</p>