WP Migrate DB Pro 1.7 & CLI Addon 1.3 Released

Just 5 months after our last major release, I’m happy to announce the release of WP Migrate DB Pro 1.7 and CLI addon 1.3. In the past, we’ve struggled with limiting the scope of each release and getting releases out more often (e.g. version 1.6 took 10 months and version 1.5 took 12 months!) but I believe we finally have a handle on it now. I’ll save the details of what we changed in our development processes to make that happen for another post. For now, let’s take a look at what’s new.

Run a Find & Replace on the Current Site

You may recall that Matt Shaw joined us as a full-time product developer in February this year. What you probably don’t know is that we also acquired Matt’s plugin when we hired him: Better Search Replace Pro. I was impressed with the work Matt did on that plugin and its rapid rise in popularity. It just made sense to reach out to him and see if he was interested in selling it and maybe working with us as well.

Matt has been working on incorporating one of Better Search Replace Pro’s features into this latest release of WP Migrate DB Pro. It’s a feature that we’ve had planned for ages: in-place search and replace. Here’s the original GitHub issue:


In the above feature request, Damon lays out a very common use-case for in-place search and replace: changing the domain on a staging site that’s becoming the live site. I ran into this plenty when I was a freelance developer and I’m sure many of you have as well.

When you update to 1.7, the first thing you should notice is the new “Find & Replace” option:


As you can see, you have all of the usual controls: which tables are operated on, which post types are excluded, whether a backup should be saved before running the find and replace, etc. You also get the same progress UI as with the other migration options:


As you can see, there’s even still a “Pause before finalizing the updates” option, which is a hint of how it works. We duplicate all the tables, run the find and replace on the duplicates, then drop the live tables and rename the duplicates. It’s the same way push and pull works. This makes for a much safer find and replace than operating on live tables.

CLI find-replace Subcommand

We’ve added a new WP-CLI find-replace subcommand to WP Migrate DB Pro (no need to install the CLI addon) that runs the same code as the UI:

$ wp migratedb find-replace --find=http://dev.samueljacksonbeer.com,/Users/bradt/Sites/samueljacksonbeer.com/public --replace=https://samueljacksonbeer.com,/sites/samueljacksonbeer.com/public

See our documentation for more details.

You may be wondering why you would ever use this over WP-CLI’s search-replace command and there’s a few reasons:

  1. Multiple Values: As you can see in the example above, you can provide a comma separated list of strings to find and a comma separated list of strings to replace.
  2. Safety: We run the find & replace on duplicate tables first, then replace the live tables with the duplicates.
  3. Saved Profiles: If you often run the same find & replace you can save it as a profile and just run the profile from the command line.

Auto HTTPS Handling

Most developers don’t bother configuring HTTPS on a dev site. Besides the best practice of having the dev site mirror the production site as closely as possible, there’s really no point. And with so many sites moving to HTTPS these days, it’s common to have a dev site on HTTP and a production site on HTTPS. Before WP Migrate DB Pro 1.7, you had to manually add an additional find and replace to run a migration with WP Migrate DB Pro:

Screen Shot 2016-07-04 at 2.17.48 PM

Not anymore. In 1.7, we detect the protocols of the origin and destination and handle this all in the background.

“Copy to Clipboard” Button


Prior to 1.7, it was pretty easy to select the contents of the Connection Info box and copy the connection info, but if you were copying it for use on the command line it was really annoying. You essentially had to do it twice, once for the URL and once for the key. Now you can can simply use the “Copy to Clipboard” button and it will copy both to the clipboard with a space between, ready for use on the command line. The UI also now supports pasting the connection info with a space instead of a newline character, so you can use the “Copy to Clipboard” button for both the UI and the command line.

CLI Addon 1.3


We also made a couple of nice improvements to the CLI addon in this release. There’s now a setting subcommand modelled after WP-CLI’s option command:

wp migratedb setting update license 
wp migratedb setting update push 
wp migratedb setting update pull 

wp migratedb setting get license
wp migratedb setting get push
wp migratedb setting get pull
wp migratedb setting get connection-key

This will satisfy quite a few people who’ve requested a way of setting the license key from the command line and being able to automate the setup of new installs of WordPress. See our documentation for more details.

We’ve also added a profiles subcommand to list saved profiles so you don’t have to load the UI to view them:


See the documentation for more details.

And More

There are lots of other little bug fixes and improvements that were made to WP Migrate DB Pro and its addons for this release, so I highly recommend checking out the full changelogs.

What’s Next?

The main feature planned for WP Migrate DB Pro 1.8 is another Better Search Replace Pro feature: importing SQL files. Again we’ve had this in GitHub for a long time and I know it’s been discussed even further back.


The plan is for Matt to tackle that SQL import feature. Peter will be reworking some of the code, paving the way for later work on the highly requested Themes & Plugins addon. And in addition to helping Matt and Peter, Jeff will be working on setting up automated acceptance testing so that we can spend less time testing and more time developing.

If you’re as happy as I am with work done on this release, I invite you to thank Matt, Jeff, and Peter in the comments as well as the rest of the team for putting in hours of testing.

About the Author

Brad Touesnard

As founder of Delicious Brains Inc., Brad wears many hats; from coding and design, to marketing and partnerships. Before starting Delicious Brains, Brad was a busy freelance web developer, specializing in front-end development.

  • Great news, especially the auto https handling will be very useful for us!

  • I was listening to the seeking wisdom podcast yesterday and they were chatting about those software products that you gladly pay for each and every year. I immediately thought of WP Migrate DP Pro. The obscure attention to detail is mind boggling.

  • Nice work! Especially the search/replace… loading up searchreplacedb2.php and remembering to delete it afterwards each time was a pain.

  • Wozn2

    Good stuff guys – HTTP to HTTPS is a big plus. Often moving between a local dev site not running HTTPS and a production site that is.

  • nicmare

    great news! i am still so happy with my decision to have the auto renewal plan for you guys! because you really deserve it. you always push your plugins to the next level and everything is working perfectly! its good to see that my money is well invested

  • Pippin Williamson

    Stellar work!

  • Gravnetic

    These all look outstanding! I hope there is more details on the automatic http to HTTPS. I didn’t quite follow if I need to do a find/replace, or how the protocols update. Very excited to use this feature to get sites secure.

  • Awesome guys! Onto the next update 🙂

  • Jason

    And once again this awesome plugin just took it to the next level. This will be so handy for taking a site live and changing out the staging domain for the correct one. You guys make dev dreams come true.

  • sharksfan

    Great job you guys. I love dbMigrate Pro, makes my job a heck of a lot easier and more efficient. Quick question, does anyone have any experience using Multi-site and the search/replace function? We tried that about a month ago and the S&R did not limit itself to the site in question, but screwed up several site installs. If it weren’t for a good strong back up, I’d still be re-building sites. I’m guessing it may have been user error, but now I’m gun-shy to even try a S&R. Add that to the fact we continue to add new sites and the stakes get higher with each new install. That said, having the ability to run a S&R on a new multi-site install would be hugely advantageous as we use several hard coded URLs in each install that then have to be manually replaced every time. Any thoughts?

    • Peter Tasker

      With the 1.7 release you can now run find and replace on subsites, just as you would if you were pulling a single site into a subsite or pushing a subsite to a single site.

      Additionally, as Brad mentioned above, the find and replace is run on temporary tables, so if you select the ‘Pause before finalizing the updates’ you can inspect the _mig_ tables in your database to make sure everything looks as it should.

      • sharksfan

        Very cool. Thanks Peter for the info!

  • Looks great guys!

  • I will enjoy using this feature update. Thanks!

  • This is great news (except that I just bought Better Search and Replace a few days ago and now the feature I bought it for has been integrated into another plugin which I already own…)

    • No prob Gavin, just submit a support request and ask for a refund.

      • Really? Great, thank you… will do. WP Migrate DB is totally awesome and this new feature makes it a must have.

  • Rita P. Best

    Hallelujah on search & replace. Nice! Nice work guys.

  • MD

    Awesome – I was just thinking the other day, I wonder when WP Migrate DB will automatically handle HTTPS? Boom!

  • jfarsen

    How timely, I got to try the new “Find & Replace”, sweeeet

  • growdigital

    Woot! As people were wont to say. Thanks 🙂

  • harishchouhan

    Thank you so much for making this guys. This will save me few steps.

  • donkeyjong

    Thanks fellas! Developing without bloat is a tricky thing but so far you’re doing a bang up job!