Migrating changes with Subversion

Posted by Nigel Allen on 25-May-2014 19:10

Antipodean salutations

I've been tasked with bringing a rather large system under control using subversion.

The code side of it I have no problem with and have a mental mud map already of the path that changes will take when migrating through multiple workspaces (devel, test, system test, preproduction, production).

I have to admit some puzlement though as to how we can control any database changes that need to be migrated along with code changes that are implemented.

Some of the puzzles I'm trying to solve are based around:

  • How do we ensure that only relevant schema changes are migrated forward?
  • How do we roll back schema changes if testing fails or if requirements change?
  • How do we deal with data during database changes?

I'm thinking about maintaining a copy (empty) of the databases from each environment and doing incremental database updates or just establishing a baseline and then use a numbering system to ensure changes are rolled out correctly but this only solves some of the challenges.

Can anyone share how they have handled this type of scenario with a hand-rolled system? (And please don't say "Roundtable" - if I were able I'd install it in a flash).

Thanks and Regards


All Replies

Posted by Lieven De Foor on 26-May-2014 05:21

A bit off-topic, but have you considered using a more modern version control system like Git or Mercurial?

Posted by Nigel Allen on 26-May-2014 17:24

I considered all manner of things but was constrained by:

  • SVN is a defacto standard at the customer
  • We have no distributed development


This thread is closed