Before you begin
Make sure that both MDM servers are up and running.
If you need to migrate between two databases on a single machine, you must run the two MDM servers side by side. You can do this by setting a different port binding on the target server.
The migration of UpdateReport records to the target MDM server may lead to unexpected results. For example, some eligible triggers are triggered, or processes or Jobs are executed. To avoid this issue, before the migration, you need to disable the Event Manager on the target MDM server by configuring
subscription.engine.autostart=falsein the file <$INSTALLDIR>\conf\mdm.conf where <$INSTALLDIR> specifies the MDM server installation directory. You need to re-enable it and when the migration is completed. Make sure to restart the MDM server for the configuration to take effect.
- In the target MDM server, browse to the <$INSTALLDIR>/tools/dbmigration folder.
- Save a copy of the dbmigration.properties.template file giving it the name dbmigration.properties, for example.
- Open the new dbmigration.properties file using a text editor.
In the "from" list, set the connection information to the source server and in
the "to" list, set the connection information to the target server.
If you want to migrate from 5.X, one configuration example is given below:
####from 5.X using EJBs#### from.host=localhost from.user=admin from.password=talend from.jndi.port=1199 to.url=http://192.168.32.191:8280/talendmdm to.home=D:\\Talend\Talend-MDMServer to.user=administrator to.password=administrator to.cluster.batch.size=500If you want to migrate from 6.X, one configuration example is given below:
####from 6.X using REST#### from.url=http://localhost:8180/talendmdm from.user=administrator from.password=administrator to.url=http://192.168.32.191:8280/talendmdm to.home=D:\\Talend\Talend-MDMServer to.user=administrator to.password=administrator to.cluster.batch.size=500If the data containers and data models in your source server do not have the same names (for example, if the
ProductDemodata container uses the
Productdata model), you must also use the following syntax in the dbmigration.properties file to specify how they are connected:
<data container>.datamodel=<datamodel>. For example:
ProductDemo.datamodel=ProductNote: For entities that have Foreign Keys to themselves (for example,
Personmight have a FK relation 'is child of' to
Person), the migration process does not ensure the correct insertion order. As a result, the validation of such records may fail even though data integrity is correct. To avoid this, it is recommended that you deploy the data model to the target MDM server first and then temporarily disable FK integrity checks for the FK field in the data model editor.
If needed, modify the number of migration threads specified by the parameter
db.migration.threads.The default value of this parameter is
Run the appropriate dbmigration file for your system and
give the command line the file name you set as a parameter, as follows:
- On Windows:
- On Linux:
- On Windows:
If needed, you can add parameters to the command line when running the
dbmigration script for your system.
Add the parameter... To...
Do the migration in an interactive mode.
For example, you will be prompted which data model needs to be migrated. Enter Y to select the data model you want to migrate, or enter N to skip the data model you do not want to migrate.
Perform only the validation of user-defined data models.
You will be prompted if a data model has any entity that refers to itself, or has circular dependencies between entities such as EntityA references EntityB, EntityB references EntityC, and EntityC references EntityA.
- Restart the target server in order to complete the migration process. If the source and target servers are running on the same machine and using different port bindings, stop the source server and then launch the target server on the desired port.
This will migrate the MDM instances stored in databases from the source server to the target server in line with the connection information defined in the file.