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

Reply via email to