Skip to content

How-to Guides

Technical References

Migrate content: Databases

To migrate content onto VIP Go, we need two assets:

  1. The WordPress database file as a SQL dump.
  2. The media as a compressed archive.

You can import your WordPress SQL database to your VIP application provided it meets the following requirements:

If your database does not meet these requirements, you can open a ticket with VIP support for help with your import. 

We recommend performing a test import of your database into an empty local WordPress environment prior to submitting, in order to ensure that your database works as expected.

Note

Importing SQL data to your VIP site will replace data on the site for any SQL tables provided in your import file. If you overwrite all tables, your old data will be gone. If you import a partial database, only those tables will be overwritten.

Create a valid file for import 

To import your database to VIP, first export a backup copy from your local or current, non-VIP production WordPress instance. Two such methods are using mysqldump from the command line, or via a third-party WordPress plugin such as WP Migrate DB Pro. Here is a sample mysqldump command:

mysqldump --add-drop-table --hex-blob --no-create-db --quote-names -h dbhost -u user -p dbname --default-character-set=utf8mb4 --result-file=dbname-full.sql

Check that your database is valid

Once you have exported your database, you can use the VIP-CLI command vip import validate-sql to verify the format of your SQL file.

Database requirements for a multisite network import

If your VIP environment is a single WordPress site, you should import a single WordPress site. If your VIP environment is a WordPress multisite instance, you should have an existing multisite database to import. If your database needs to be transformed before you launch on VIP (for example, you’re moving a bunch of single site installs into a multisite instance) we recommend to get a working copy of your app running on a local environment as a multisite before preparing it for import.

If you’re importing into a multisite network:

  • Your database must have been exported from a multisite.
  • If you are importing an entire multisite network, ensure that your export has the wp_site and wp_blogs tables.
  • If importing subsite tables, ensure the table prefixes match the intended destination site ID (e.g., tables prefixed wp_3_ will be imported to subsite 3).
  • If you are importing a selection of one or more subsites, your database export should include only the tables for those subsites.

Use search and replace

When importing a database to an unlaunched environment on VIP, the domain in your database should match the destination site. For an unlaunched site, this is your VIP convenience domain.

Your existing database may be using a development domain or a production domain from a site that is launched elsewhere. For example, let’s say you created a SQL dump from your local machine, using the domain http://example.dev, and your VIP environment is using the convenience domain https://example.go-vip.net. The search and replace flag you would use in that instance would be:

--search-replace="http://example.dev,https://example.go-vip.net" 

Please note that there are no spaces between the URLs, only a comma.

This ensures all domain name values in the database are replaced, so that you can have a working copy of your site at your pre-launch, convenience domain.

Import your database

Import your SQL database to your VIP app using the vip import sql command in the VIP CLI. Here are two examples:

Single site:

vip import sql @wpvip.production file.sql --search-replace="http://example.dev,https://example.go-vip.net"

Multisite:

vip import sql @wpvip.production file.sql --search-replace="http://example.dev,https://example.go-vip.net" --search-replace="example2.com,example.go-vip.net/subdir"

Please note that there are no spaces between the URLs, only a comma.

You can also run vip import sql --help or vip import sql -h to view optional flags and more with more examples.

Check your import status

You can check the status of an import that is currently running with this command:

vip import sql status @wpvip.production

If an import fails due to an invalid SQL file, or there is an error present in the file, the process will revert the site’s database back to the previous, most-current backup.

Your import may also successfully complete, but there may be other conflicting errors that prevent the site from loading properly (e.g.- PHP errors in the theme). Once the import completes, if the results are not what you expect, you can re-try the process.

Once you confirm that your database has been imported into your VIP environment, you’ll want to perform some quality assurance testing to ensure it matches your expectations. Here are some ways to test your site.

Last updated: February 10, 2021