Adding tables and fields
if adding a table, then create the necessary enum values
only the table needs the Ivo version property applied
add default data records if necessary
if just adding a field to an existing table, then make sure the Ivo version property is set
once added in the cDatabaseDef classes, nothing more is needed
Update version in project properties
when you do this is dependent on what you need to test. If testing the addition of new tables and/or fields, then you would need to change this setting in order to test.
the data file records the version in tblDatabaseInfo. When the software runs it checks this value. If the software version is less that the data file version, then the software shows a message and won't run. This would generally only happen if something prevented the software from upgrading before connecting to the data file.
If the software version is greater than the data file version then it runs the update code
when you run the software in the IDE, it starts with the "Choose Database - Dev" form (frmChooseDatabaseDev). This form has options to create backups of data files you are working with, and easily delete a file and re-copy from its backup. Eg. if you are testing whether your upgrade procedure is working the
If you need to delete a table
there are two options -
occasionally we need to replace a lookup table, so what we do is delete it here -
then just update the Ivo version value in the table's definition procedure and it will be automatically re-created
sometimes we just need to get rid of a table. It could be added to the above location, or explicitly deleted in the upgrade procedure (if one is required)
If changes are required as part of the update,
if, for example, you need to run queries to set default values for new fields, or to otherwise modify data based on changes
Update What's new settings?