On Friday, August 29, 2014 6:12:06 PM UTC+5:30, Frank Millman wrote: > Hi all
> Now that I have bitten the bullet and published my repository, I am forced > to change my working practices (which is a good thing!). > The project is inherently database-driven. The python code expects to find > certain tables and columns in the database. As I develop new features, I > sometimes need to modify the database structure. In the bad old days (like > yesterday) I would just make the modifications and carry on. Now I have to > be aware that others may have downloaded the project, so I have to consider > how to ensure that their database is kept up to date. There are tools like this http://alembic.readthedocs.org/en/latest/ It may help to read that to avoid reinvention > It is a simple matter to write a program that updates the database > automatically. The question is, what should trigger such an update? My first > thought is to use a version number - store a version number in the working > directory, and have a matching number in the code. If someone downloads the > latest version, the numbers will no longer match, and I can run the upgrade > program. > The problem with that is that version numbers are usually reserved for > tagged releases, but this could happen as the result of any commit in the > current development cycle. I dont think alembic can solve that. Still it may help to study it -- https://mail.python.org/mailman/listinfo/python-list