The Road Ahead for WP Migrate DB Pro

From time to time we’re met with an email that includes a request for a certain feature to be considered for WP Migrate DB Pro. Much to the sender’s delight the response is usually akin to “yep, that’s currently on our development roadmap”.

We thought we’d be a little more transparent in our development process and clue you in on what that roadmap currently looks like.

Media Files

This is by far the most requested feature for WP Migrate DB Pro and will also be our very first addon plugin, but more on that later.

In a nutshell, this update will allow you to pull down the media files from your remote WordPress installation into your local environment. To accomplish this we compare the attachment posts found within your remote database to the ones in your local database and only pull updated or missing media files.

Any and all attachment files will be supported. Including but not limited to images, spreadsheets, documents, mp3 files, zip archives etc.

It should also be noted that this addon is being developed and released in stages with our first release working with pull migrations only. Support for push migrations will come at a later date.

We’re going to start beta testing the first release next week, so if you’re already a customer and interested in beta testing, send us an email.

Addons

As mentioned above, the media files functionality will be packaged into a WP Migrate DB Pro addon plugin rather than it being included in the main code.

Not everyone will care about migrating their media files, so adding this functionality to the main code base only adds unnecessary clutter and UI elements to the migration form.

Addons are extremely easy to install, we’ve added a “Addon” tab to the WP Migrate DB Pro plugin page, making it possible to download and install addons without having to leave your WordPress dashboard.

Pricing and access to addons is yet to be finalized, so keep an eye out for this.

Automation

The second most requested feature is the ability to automate or run migrations from the command line. In it’s current state, the migration process relies heavily on user input and JavaScript / AJAX, making it impossible to initiate migrations purely within PHP.

We’re definitely looking to change this and make it possible to fire off migrations using a single function call. This will allow us to create addons for scheduling automatic migrations and integrating with WP-CLI. This also opens up a lot of doors for developers, the one that comes to mind is having the ability to include a database migration in your deployment script.

In addition to crushing bugs and adding small improvements, developing the above features is going to keep us busy for a while.

As usual, please let us know your thoughts on any of the information provided above in the comments section below. Also feel free to chime in on what you think of the current roadmap and if you’d like to see anything added to it.

About the Author

Chris Aprea

Chris wrote a ton of code and helped lots of customers for Delicious Brains during his 2-year stint with us. He has since moved on to other things.

  • Pippin Williamson

    Fantastic!

  • Eric

    VERY excited to see this come together – you’ve already made database transfer a breeze, being able to move media files is another considerable hurdle. Something else that would be valuable is a post diff or version compare for existing database entries, in the event of merging content instead of a full replacement.

  • Nick

    Automation would make this plugin even more magical. Just say when and you can have my money 🙂

  • Awesome, so glad to see an already excellent plugin become more excellent. And thanks for separating out the media file handling — I think it’s a wise decision to keep the core of this light but allow those who need that functionality to be able to add it on.

  • Very awesome! The current road map sounds great.

  • Joel Brewer

    Really excited about the CLI automation feature!

  • Brian Rice

    Media Files only? Yes I can see that as a nice feature, but why not migrate the entire wp-content folder? I find migrating plugin files, themes and uploads files a bit mundane. BTW been using PRO for a few months and I’m lovin’ it. 🙂

    • I believe many developers keep their other files in source control (usually git) and deploy using git push, rsync, capistrano, deploy.hq or one of the many other deployment tools for source files. Glad to hear you’re enjoying the plugin!

      • Jon

        This. For most /wp-content should already be in version control, but most people exclude /uploads from version control.

        Brad, great idea on doing this by tracking attachment post via the DB instead of directly looking at files.

      • Brian Rice

        I mostly develop small websites for small local businesses, independently. FTP-ing isn’t terrible but would be nice to have a “1 Click” migration tool. I never use version control, except when working on a bigger projects with several team members.

  • Awesome Brad!

  • Great stuff. Glad to see WP Migrate DB Pro doing so well. I agree with the decision to keep media files migration separate from the core plugin. Also, I wanted to say that WPMDB has been replacing BackupBuddy as a migration solution more and more for me. Keep up the great work!

  • TrevorAGreen

    It might be nice to be able to trigger a migration via beanstalkapp.com.

    • JamesDiGioia

      It actually sounds like this will be possible – you can integrate Capistrano with Beanstalk and include it your recipe (once the automation part of this is completed).

  • TrevorAGreen

    Is there a way to drop a stub to do migration without WordPress installed. There needs to be a better way to deploy a first copy. I’d like to avoid backupbuddy. So deploy via version control. And without the destination site being connected to a database be able to push a database to it. Otherwise you have to backup buddy, export/import, setup a full new wordpress and then migrate. None of which is as graceful as I would like.

    • WP Migrate DB Pro relies heavily on using the WordPress API, without it we’d have to essentially rewrite the whole plugin. The easiest way currently is to use a form of version control (we prefer git).

      That way the steps are relatively straight forward and clean:

      1. Create a local database
      2. Clone your website repo in your local environment
      3. Install WordPress (i.e. populate your newly created DB with the default WordPress data)
      4. Pull the live database into your local environment using WP Migrate DB Pro

  • JoelEade

    I’ve been using WP Migrate Pro to collaborate with another developer, along with Git for version control of wp-content (except uploads) and SFTP for the uploads folder. Keeping Media files synced to our localhost was high on the wish-list so thanks for adding it to the roadmap. Awesome work, Brad.

    P.S. I enjoy listening Apply Filters too. I’ve learned a lot from the first few episodes and look forward to many more.

    • Jerome

      Hi Joel, do you still have experience these days with this combination (git / wp migrate pro..)? We’re thinking of doing the same but I’d like to hear from someone who has had some experience with it. Thanks

      • I’ve been doing the WP Migrate Db Pro + git for years, and it’s only gotten better. I.e., with the media files addon now, that syncs the uploads + db, and git syncs the code (themes, plugins, and WordPress if you track it in git).

        • Jerome

          Perfect! Thanks so much for info. I’m excited getting started with it.

      • JoelEade

        Hi Jerome. Yes, I still use Git (via Beanstalk) and WP Migrate DB Pro for all my projects. It’s essential, in my opinion, when you’re working in a team or collaboratively with a client. Yell out of you need any help getting started.

        • Jerome

          Thanks Joel, I really appreciate. I’ve already worked once with wp using git, but thought it was quite a struggle. WP Migrate DB seems here already a big help. If you have any strong advice for the set up, please tell.
          Thanks again.

  • wp-cli integration and/or command line automation would be great! Currently, I deploy my source code and sometimes media files using git. Then go to the admin to run WP Migrate DB. But first I deactivate my mp6 plugin b/c I get a wp_options error, and then reactivate. With command line, I could run the following to deploy all from the command line:

    git push
    wp plugin deactivate mp6
    wp “migrate” [options]
    wp plugin activate mp6

    When I use WP Engine, they don’t allow media files in git, so I’m always FTP’ing them. So adding an option for that would complete my deploy process.

  • Víctor M. Cuadrado

    Great news!
    As soon as Automation becomes available you’ll have me in.

  • Raoul

    Hello,

    I would like to purchase the developer license: is the media files portion of this post integrated into the Pro version, yet?

    Thank you.

    • Beta 2 of WP Migrate DB Pro 1.3 and the Media Files addon is available. A stable release will be out very soon. 🙂

      • Raoul

        Thanks, Brad, for your response. I assume migrate db pro allows migration between local -> staging -> production which is great.

        What do you guys use yourselves in terms of deploying the files in the first place? Beanstalk? FTPloy? A Capistrano mix?

        Thank you.

      • We use git push and a git post-receive hook that mirrors to GitHub and runs a few scripts. Very similar to this: http://joemaller.com/990/

  • fitzryland

    +1 on WP-CLI integration. This could really be the last piece of my puzzle.

  • Dave Navarro

    Integrated or Addon, I’d really like to see the ability to migrate a site from a single-install to a multi-site install.

  • rosenbury

    Came here to +1 the CLI integration. Any update on ETA?