For those of you familiar with the Microsoft Sync Framework, this question is for you. It's regarding application versioning. Let's say that I release version 1.0 of my software and a local database sdf file is created from the version 1.0 web service, and life goes on for a while, and the user uses the application and puts data in the local database and all that, well then version 2.0 of my software comes out, and their are changes to the database (schema), such as new columns, new tables, null-ability changes, etc...
How does that work, what if the user has data in the version 1.0 database and I have published a new 2.0 web service because version 2.0 of the software is release and the version 1.0 database no longer is able to sync with the 2.0 web service, how do I get their data out of the version 1.0 database? More to the point, how to I cleanly update everyone to version 2.0 without losing any of their 1.0 data?