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.248

Latest news

  • ProcessWire Weekly #582
    The 582nd issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 5 July 2025
  • New ProcessWire admin redesign
    When you upgrade to ProcessWire 3.0.248 or newer (currently the dev branch), you’ll immediately notice something new and beautiful…
    Blog / 9 May 2025
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK