WireDatabaseBackup::restore() method

Restore/import a MySQL database dump file

This method is designed to restore dump files created by the backup() method of this class, however it may also work with dump files created from other sources like mysqldump or PhpMyAdmin.

Usage

// basic usage
$true = $backup->restore(string $filename);

// usage with all arguments
$true = $backup->restore(string $filename, array $options = []);

Arguments

NameType(s)Description
filenamestring

Filename to restore, optionally including path (if no path, then path set to construct is assumed)

options (optional)array

Options to modify default behavior:

  • tables (array): table names to restore (empty=all)
  • allowDrop (bool): allow DROP TABLE statements (default=true)
  • dropAll (bool): DROP ALL tables before restore? The allowDrop optional must also be true. (default=false)
  • haltOnError (bool): halt execution when an error occurs? (default=false)
  • maxSeconds (int): max number of seconds allowed for execution (default=1200)
  • findReplace (array): find and replace in row data. Example: ['databass' => 'database']
  • findReplaceCreateTable (array): find and replace in create table statements.
    Example: ['DEFAULT CHARSET=utf8;' => 'DEFAULT CHARSET=utf8mb4;']

Return value

true

on success, false on failure. Call the errors() method to retrieve errors.

Exceptions

Method can throw exceptions on error:

  • \Exception - on fatal error

See Also


$backup methods and properties

API reference based on ProcessWire core version 3.0.155

Twitter updates

  • This post covers a few of the bigger updates in ProcessWire 3.0.154+3.0.155. This includes new live replacement of text in core and modules, a new method for creating canonical URLs, and some major upgrades to our input->urlSegment() method! More
    24 April 2020
  • A brief look at what's new in ProcessWire 3.0.154 in this forum post: More
    17 April 2020
  • This week we’ve got a few new and interesting core updates in progress, though none quite ready to release just yet. So rather than releasing version 3.0.154 today, I thought we'd instead take a brief look at what’s coming over the next few weeks… More
    3 April 2020

Latest news

  • ProcessWire Weekly #311
    In the 311th issue of ProcessWire Weekly we're going to talk a bit about the latest dev versions of ProcessWire, introduce a couple of new third party modules, and more. Read on!
    Weekly.pw / 25 April 2020
  • ProcessWire 3.0.154 and 3.0.155 core updates
    This post covers a few of the bigger updates in ProcessWire 3.0.154 and 3.0.155 on the dev branch. This includes a new function for live replacement of text in core and modules, a new method for creating canonical URLs, and some major upgrades to our $input->urlSegment() method that I think you’ll like!
    Blog / 24 April 2020
  • Subscribe to weekly ProcessWire news

“The end client and designer love the ease at which they can update the website. Training beyond how to log in wasn’t even necessary since ProcessWire’s default interface is straightforward.” —Jonathan Lahijani