1. A method of migrating data from one or more source databases to one or more target databases, the method comprising: receiving, from a cloud-based database modeling service, data relating to the one or more source databases and the one or more target databases, wherein the cloud-based database modeling service is located remotely from the source databases and from the target databases, and is configured to collect and analyze data from the source databases and from the target databases; generating a pre-migration analysis for the plurality of objects stored in the one or more source databases, based on the data received from the cloud-based database modeling service; generating a plurality of migration scripts that transfer the plurality of objects from the one or more source databases to the one or more target databases, based on the pre-migration analysis; generating a migration plan that defines: an order in which the plurality of migration scripts will be executed during migration to minimize downtime during migration of the one or more source databases; timing constraints that dictate when each of the plurality of migration scripts can be executed; and indications of which of the plurality of migration scripts can be executed in parallel; migrating the plurality of objects from the one or more source databases to one or more target databases according to the migration plan; while migrating the plurality of objects, executing a number of migration scripts in parallel, according to the migration plan; while migrating the plurality of objects, periodically determining an amount of available system resources; while migrating the plurality of objects, dynamically adjusting an amount of parallel processing during the migration by scaling up or down a number of migration scripts executed in parallel based on the determined amount of available system resources; and after migrating the plurality of objects, validating the plurality of objects on the one or more target databases.