If you change any table definitions in the process of updating your application, data from the previous version of your application may be incompatible with the updated version. Changes that make existing data tables incompatible include:
If you make these types of changes, existing data tables from the previous version of your application will have to be converted to be used with the new version. Table conversions are performed by procedures that you write.
We recommend that you duplicate a table definition before you make changes to it. Then you will have an original table definition that can be used in the table conversion process.
It’s a good idea to track whether an update of your application requires tables to be converted. When the update is installed, code in your application can determine whether tables need to be converted, or have already been converted by a previous update. Typically, this information will be stored in a separate table for the application.
How you convert the data in a table depends on the type of table you want to convert. If you are converting c-tree or Pervasive.SQL tables, you can use the Table_StartConversion() and Table_EndConversion() functions to help perform the conversion. If you’re converting tables stored in a SQL database, you can’t use these two functions. Instead, you must use pass-through SQL to perform the conversion.
Be sure your customers make a backup of their data before any table conversions are performed.