Search code examples
pythondatabasesqlalchemyturbogears

How do I Handle Database changes and port my data?


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?


Solution

  • 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.