The Migration Algorithm
See Also
The Migration Wizard uses the Repository 2.0 engine to create Microsoft Repository 2.0 tables. Pure SQL Data Manipulation Language (DML) and Data Definition Language (DDL) are used to move all the Repository information — both Information Models and instance data.
The General Flow
The following sections describe the algorithm that converts Repository 1.0 to Repository 2.0.
Application Startup
-
Ascertain nationality.
-
Load the correct localization resource file.
ODBC Initialization
-
Determine all DSNs defined to the machine.
Preparation
-
Read Type Information Model control tables to acquire any other Type Information Model tables and column definitions.
-
If any Repository 2.0 tables exist, destroy them, then recreate them.
Copy Type Information Model
-
Allow Repository 2.0 engine to build Type Information Model.
-
Add any Repository 1.0 Information Models into the Repository 2.0.
-
Synchronize all relationships.
-
Convert RTblObjects into RTblVersions and set the values of Z_VE_Z and Z_BranchID_Z to zero.
-
Verify that no additional columns are defined in the Repository 1.0 Type Information Model tables; provide an error message if additional data is found.
Copy Information Models
-
Copy data in Repository 1.0 tables using SQL SELECT/INSERT statements.
-
All inserts use default version and branch information.
Table Mapping
Version 1 |
Version 2 |
RtblClassDefs |
RTblClassDefs |
RtblIfaceDefs |
RTblIfaceDefs |
RtblIfaceMem |
RTblIfaceMem |
RtblITimestamp |
RTblITimestamp |
RtblNamedObj |
RTblNamedObj |
RtblObjects |
RTblVersions |
RtblPropDefs |
RTblPropDefs |
RtblProps |
RTblProps |
RtblRelColDefs |
RTblRelColDefs |
RtblRelColPairs |
RTblRelColPairs |
RtblRelshipProps |
RTblRelshipProps |
RtblRelships |
RTblRelships |
RtblRoot |
RTblRoot |
RtblSites |
RTblSites |
RtblTypeLibs |
RTblTypeLibs |
None needed |
RTblWorkspaceItems |
Notes
-
For each row in RTblObjects table, the Migration Wizard creates one row in the RTblVersions table.
-
The RTblWorkspaceItems table is created with no rows.