MigrateDB ships with support for a large number of databases and functionality, but due to limitations (such as licensing) it cannot ship containing everything it supports. In these situations, MigrateDB will load the extra support/functionality if it is present on the classpath.
How you add to the classpath depends on how you are invoking MigrateDB.
When using the CLI, you can add to the classpath by dropping the .jar
files for the libraries you want to include into
either the drivers
or the jars
folder in the downloaded folder structure. The two folders are provided to make it
easier to separate jars used for adding database driver support, and jars used to contain other functionality (such
as Java migrations
or Java callbacks).
📂 migratedb 📁 conf 📁 drivers here 📁 jars or here 📁 lib 📁 licenses 📁 sql 📄 migratedb 📄 migratedb.cmd 📄 README.txt
You can also specify more folders to load jars from using the jarDirs configuration parameter.
When using the API, the jars you wish to include should be added as dependencies of the overall project, just as you would with any other java dependencies.
The most common library to be added to MigrateDB is those that add JDBC driver support. For example
the Informix database is supported by MigrateDB, but the JDBC driver is not shipped
with it. Therefore the com.ibm.informix:jdbc:4.10.10.0
dependency needs to be added to the classpath to allow
MigrateDB to work with it. See each database page for the JDBC driver they use and whether they are shipped with
MigrateDB or not.
Other uses for adding libraries are adding logging support, adding Java migrations, and more.