I am working on an app which has multiple versions deployed in the market. Different versions have modified databases and databases are to be synced between local storage and server storage by signed users. The problem is a user can have different versions of the app installed in different device and might want to keep database synced. Now due to different database versions (different schemes, i.e. altered columns or data types) its hard to get synced for same account. I wonder if there is any well known pattern to resolve this kind of issues. I believe this is a very common problem and must have some better approach to handle.
So far i am thinking to make a wrapper to convert one db version compliant data (received from server) to another db version compliant data (saved to local storage).
Edit: In response to @RobertHarveys comment, lets assume each database version has different scheme. For example new colums may be added in one version and old colum may be removed in later version. Moreover data type can be changed in other versions.