Hi,
A boi file is (just like a native Blaise database file (bdb)), tightly bound to its associated meta file (bmi).
Whenever you open a boi file in Blaise then there will be a check whether the data model is still valid for the boi file.
This is because some of the record data depends on the internal structure of the datamodel that is being used. If you change the data model, then this data will become more or less unreadable to Blaise.
Here is what we recommend if a data model changes:
- Leave the old boi file, the old bmi and the old tables intact.
- Create a new boi file for the new datamodel. Ensure that the generated tables do not exist already on the database. You can do this by renaming the tables, but also by taking another database or schema in which the new tables will be created.
- Finally, copy the data over with help from a simple Manipula script.
- After that you can remove the old stuff if you want.
There is also an interesting storage option that is independent of data models and versions of data models. This means that every (and version of a) data model can be stored in the same set of tables. There will be no need anymore to recreate your tables and the old data remains in the database.
I'm talking of generic boi files here. You will get a true data model independent storage if you choose the generic, in depht data partition type. You can read more about the generic boi files in the Online Assistant
Now about altering field mappings. I agree that adapting many database object names (like tables and columns) is a tedious job if you have do this with help from OLE DB Workshop.
You mentioned that you guys are software developers. It is also possible to reference the blboi3a.dll component in your own application. This component has an API that allows you to open a boi file, but also to alter information in the boi file, like table- and column names.
Once you have such an application you could do the renaming over and over again.
Best regards,
Arno