I've one windows application which uses sqlite DB. I've created a setup for this application using setup and deployment project. I may have to make builds every other month with changes in the application and user has to update it.
My application creates sqlite DB file when it runs for the first time. If DB file is there then it doesn't create it. Now, when I've an update for the application I'll have to make some changes in the DB schema as well. In this case user might have some data in the sqlite DB as well. I should not touch the data but update the DB schema. Also this will happen once in few months, as I'll be adding new features to the application.
How do we normally handle this kind of update for the application. I'm making new setup every time I add new features to the application, which will uninstall existing version and installs the new version. But I'm confused about the database part. How should we handle this incremental update in the DB schema?
Any suggestions?