WowCodesDocs

Back up and update safely

Your admin panel makes a database backup for you and keeps every file an update replaces, so a core update can be undone. Here is what to save before you update, what the update checks, and how to undo it.

Before any update

Appearance Software update lists the same four steps. Only an Administrator can install a core update or make a backup there.

  1. Download a database backup

    Press Make a backup. It's made on the server in small steps, so it works on shared hosting; you can leave the page and it carries on when you come back. When it's ready, press Download backup. The file is a compressed copy of every table: orders, customers, wallets and settings. It holds your customers' personal data, so keep it somewhere private. The copy on the server is deleted after a day, or straight away with Delete from server.

  2. Keep a copy of your files

    A core update keeps every file it replaces, so it can be rolled back. For your uploads, logos and anything you edited by hand, also take a backup with your host's backup tool. Include your private folder (see What to copy).

  3. Pick a quiet moment

    Customers see a short maintenance page while files are replaced. Avoid the end of a sale or a draw.

  4. Straight after

    Update your plugins and themes too, then open the homepage, a product, the cart and checkout to check they work.

The database isn't rolled back

Rolling back a core update puts the old files back but leaves the database as it is. That's safe, because an update only adds tables and columns. To get the database itself back, you need your backup.

Restore a backup

In your hosting panel, open phpMyAdmin, choose your store's database, then Import and pick the downloaded file. With shell access you can use mysql instead. Restoring replaces every table with its state at the time of the backup, so anything since then is lost.

What the update checks first

Before you can start, the page checks your server and marks anything wrong in red. The update can't start until every check passes.

CheckIf it fails
Release signing keyYour version is older than signed updates. Install the next version by hand once.
PHP sodium, Zip and cURL extensionsAsk your host to switch them on.
storage/kernel-update/ is writableLet PHP write to that folder.
Free disk spaceAbout three times the download is needed. The check shows how much is free and how much is needed.
Site files are writable by PHPIt names the folders it can't write. Fix their permissions; see Folders your store must be able to write.

Then tick I have a recent backup of my database. It's ticked for you if you made a backup on this page in the last day.

During the update

Keep the page open until it finishes: closing it or going to another page stops the update part way. The page shows a recovery link. Copy it. If the page stops responding, open the link to check on the update or roll it back, even if your admin panel won't load. It stops working 48 hours after the update finishes, or once it has been used to roll back.

If an update goes wrong

  • The store doesn't come back healthy: the update rolls itself back.
  • Something is wrong afterwards: roll back from Software update, one version back. Plugins made for the newer version stay on; the page lists any that may show errors until you update again.
  • The admin won't load and you have no recovery link: from a shell in your site folder:
Shell
php kernel-update-runner.php status     # where the update stopped
php kernel-update-runner.php resume     # finish copying files after an interruption
php kernel-update-runner.php rollback   # put the previous version back
php kernel-update-runner.php unlock     # take the site out of update maintenance

Plugins and themes

A plugin or theme update replaces that plugin's or theme's whole folder. The old copy is set aside first, so a move that fails keeps the version you had. Edits you made inside the folder are lost. If an update is refused, see An add-on or theme won't install or update. More in Updates and add-ons.

Something wrong or unclear on this page? Tell us at [email protected], or see how to get help.