From the point of view of modular development, the migration process is as follows:
The MySQL Migration Toolkit prompts the user for a source database and connection parameters. The user selection determines which modules will be used for the source database.
The MySQL Migration Toolkit calls the
testConnection
method of the reverse
engineering module. The testConnection
method returns success or failure to the MySQL Migration Toolkit.
The MySQL Migration Toolkit calls the
getSchemata
method of the reverse
engineering module. The getSchemata
method
returns a list of the schemata available on the source RDBMS.
Once the user has selected one or more schemata to migrate,
the MySQL Migration Toolkit calls the
reverseEngineer
method of the reverse
engineering module. The reverseEngineer
method converts all objects in the source RDBMS (tables,
views, procedures) into a collection of GRT objects.
After the source database has been reverse engineered, the
MySQL Migration Toolkit calls the
migrationMethods
method of the migration
module. The migrationMethods
method
generates a list of available methods than can be selected by
the user in the
Object
Mapping Screen.
Once the user has selected the migration methods, the
MySQL Migration Toolkit calls the migrate
method of the migration module. The migrate
method converts the source RDBMS GRT objects into MySQL GRT
objects by calling the selected migration method for each
source schema object. If no explicit method is assigned, the
default migration method for the object type will be used.
After the MySQL GRT objects have been created, the MySQL Migration Toolkit calls the transformation module to convert the MySQL GRT objects into SQL statements that will create the objects on the target MySQL server. The MySQL Migration Toolkit then either executes the SQL statements on the target MySQL server or writes them to a script file.
In the final step, the MySQL Migration Toolkit calls the
dataBulkTransfer
method of the migration
module. The dataBulkTransfer
method loops
through the selected tables in the selected schema and
migrates the rows of the tables to the target MySQL database
or loads them into a script file, depending on the user
preference.