Hi Carlos Before deployment I work like this:
1. Make sure that you get rid of all SQL keywords from your table and field names. Web2py has a feature for that -- use it. 2. Do your best to ensure your DB schema has become 'stable' before you go live with the system. Until the schema is stable I just use throw-away test data. Write a couple of scripts to populate your DB with meaningful amounts of data. The populate feature is very useful. When you make significant changes, tear all your data down and start over whenever you think your migrations have become complex. 3. Get some of your users to test the system and make sure nothing significant needs to be done. You should now only need to make significant changes when refactoring or making new features. Post-deployment... 3. Get direct access to the DB with a good DB management tool so that you can really see what's going on. 4. Take the DB offline and back it up. 5. Run app with migrations on and hope for best. 6. Make sure everything works. Check the data in your admin tool and use that to create any extra indexes and stuff. 7. Back up the changed DB again as a starting point. Set migrations to false and then get it back on line. Sorry if this seems like overkill, but believe me, the care and attention is worth it, for me at least. My experience is this: your apps may come and go, but once your data has grown, it just likes to sit there like a brooding colossus that does not like the idea of migrating anywhere at all! Regards, D On Feb 25, 4:00 am, Carlos <carlosgali...@gmail.com> wrote: > Hi villas, > > You make a good point. > > Btw how do you handle your db migrations manually?, do you go to the db > system (e.g. postgresql) and delete/alter fields one by one?. > > Thanks, > > Carlos