As soon as I read 'compatibility number' in your email I remembered we discussed this internally long ago.
Just recently I was thinking of tracking the required version for each app that connects to the database but after thinking about it I don't think we'll need that level of granularity. A single compatibility number kind of forces us to keep all the apps in line, and I think there's some benefit to that as it would help to avoid scenarios where we have a mix of several different app versions trying to work together. Thanks! On Fri, May 7, 2010 at 2:24 PM, Greg Keogh <g...@mira.net> wrote: > Matt, I like to put two magic numbers in a special database table: The > change number, The compatibility number. > > > > The first increments whenever the schema changes. The second increments > only when a “breaking” change is made. > > > > The app startup code can use these numbers to determine if it can run or > not, or perhaps to run in a crippled way (but I haven’t needed that yet). > > > > Your needs are probably far more complicated that I describe, but my tiny > humble system at least forces you to think about keeping the code and DB > working together. > > > > Greg >