Example, for web applications using Turbogears and SQLAlchemy. Every time I update my data model, I need to delete my database and recreate it.
Is there an easy way to update the production database?
Do I have to write a custom script that transfers all the production data into a new database model? Or is there an easier way to upgrade a production database?
These database changes are called schema migrations. For SQLAlchemy, sqlalchemy-migrate is the defacto standard. Other ORMs/abstraction layers have similar solutions, e.g. South for Django.
You can ALTER TABLE, i think that's the easiest way.