It’s no secret that migrating a WordPress database is time consuming and painful. WP Migrate DB Pro reduces migration to a single-click in your WordPress dashboard saving you time and eliminating the pain.
You simply install WP Migrate DB Pro on two WordPress installs and you can push and pull the database between them. For example, if you’re developing locally (i.e. on your laptop/desktop), you can easily initiate a “pull”, sucking the live site’s database down, replacing your local database. After you’re done, you can initiate a “push”, sending your local database up to a staging site for review by your client. Pretty awesome, right?
WP Migrate DB Pro takes care of all the annoying little things so you can focus on development. For example, when it does the find/replace of URLs, it detects serialized data, unserializes it, and walks through the array/object running find/replace on any strings, then serializes it again. It also avoids updating GUIDs so as not to disrupt RSS feeds. And it will detect the versions of MySQL running on each install and handle any incompatibilities between the two.
When you migrate a site, you overwrite the destination database. Probably a good idea to back it up first. WP Migrate DB Pro makes this very easy. Just check a box in the migrations settings and before your migration is run, the destination database will be backed up as an SQL file to the destination server.
With the Media Files addon, you can also push/pull files from one Media Library to another. It compares the two Media Libraries, detects what files need to be copied, and copies them.
The CLI addon integrates with WP-CLI, giving you full control from the command line. Run push and pull migrations, specifying all the migration options you can define in the UI, and track progress all from the CLI.
If you work with WordPress Multisite from time to time, you’re going to love the Multisite Tools addon. It allows you to export a subsite from a multisite install and import it as a single-site install. Planned features include the ability to push/pull a subsite to a single-site install, push/pull a single-site install into a multisite install as a subsite, and push/pull a subsite from one multisite install to another multisite install.