# Two version of an app (for subset of users), same database

**URL:** <https://www.ruby-forum.com/t/two-version-of-an-app-for-subset-of-users-same-database/114169>\
**Category:** Deployment\
**Created:** [September 9, 2007, 1:09am UTC](https://www.ruby-forum.com/t/two-version-of-an-app-for-subset-of-users-same-database/114169 "2007-09-09T01:09:36Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dxk3355](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/d6d6ee/32.png) [@dxk3355](https://www.ruby-forum.com/u/dxk3355)\
**Post date:** [September 9, 2007, 1:09am UTC](https://www.ruby-forum.com/t/two-version-of-an-app-for-subset-of-users-same-database/114169/1 "2007-09-09T01:09:36Z")

</div>

hi!

I am thinking of having two versions of the same app live. A specific  
set of users would be running the latest one with all the new features,  
while everyone else would be on a latest stable version.

I was thinking that one mongrel instance (?) would be running an app  
from a different branch. The database would have to be shared with the  
“trunk” version of the app. The simplest scenario is that the new  
version only has some additional tables / columns and thus the old one  
doesn’t notice anything… but sometimes this probably wouldn’t be the  
case. I don’t know what to do in this case. I read a very interesting  
article that I recommend to everyone: It’s Evolutionary Database Design  
by Marting Fowler at [Evolutionary Database Design](http://www.martinfowler.com/articles/evodb.html)  
I think this article has some ideas that might come handy in trying to  
achieve this (from a database standpoint).

So… this is the bird-eye view of how it should work… I’m sure a lot of  
people thought / are using something like this, but don’t know how  
exactly to get started and what is the right approach.

I would be really grateful for ANY comments about this (of course I  
would also like to automate this fully - with capistrano)!

Thank you!  
David
