A method comprising: receiving one or more indications of a plurality of migration scripts for execution to migrate a database system from a source server system to a target server system; determining, based on one or more factors, an execution order in which the plurality of migration scripts are to be initialized for execution; identifying one or more first migration scripts of the plurality of migration scripts based on the execution order; initiating execution of the one or more first migration scripts to commence the migration of the database system; identifying one or more second migration scripts of the plurality of migration scripts scheduled to initiate execution after the one or more first migration scripts based on the execution order; monitoring one or more processing resources available to the source server system and/or the target server system; determining that the one or more processing resources are above a first threshold but below a second threshold; in response to determining that the processing resources are above the first threshold but below the second threshold initiating execution of one or more third migration scripts of the plurality of migration scripts out-of-order from the execution order to continue the migration of the database system, the one or more third migration scripts being initiated for execution before the one or more second migration scripts; wherein the one or more second migration scripts require at least the second threshold of processing resources be available, and wherein the one or more third migration scripts require more than the first threshold of processing resources be available but below the second threshold of processing resources; and rescheduling the one or more second migration scripts to be initiated for execution after the one or more third migration scripts are initiated for execution. receiving one or more indications of a plurality of migration scripts for execution to migrate a database system from a source server system to a target server system; determining, based on one or more factors, an execution order in which the plurality of migration scripts are to be initialized for execution; identifying one or more first migration scripts of the plurality of migration scripts based on the execution order; initiating execution of the one or more first migration scripts to commence the migration of the database system; identifying one or more second migration scripts of the plurality of migration scripts scheduled to initiate execution after the one or more first migration scripts based on the execution order; monitoring one or more processing resources available to the source server system and/or the target server system; determining that the one or more processing resources are above a first threshold but below a second threshold; in response to determining that the processing resources are above the first threshold but below the second threshold initiating execution of one or more third migration scripts of the plurality of migration scripts out-of-order from the execution order to continue the migration of the database system, the one or more third migration scripts being initiated for execution before the one or more second migration scripts; wherein the one or more second migration scripts require at least the second threshold of processing resources be available, and wherein the one or more third migration scripts require more than the first threshold of processing resources be available but below the second threshold of processing resources; and rescheduling the one or more second migration scripts to be initiated for execution after the one or more third migration scripts are initiated for execution.