1.0.0 • Published 10 years ago
drush-reloadp v1.0.0
Drush Reload Parallel
Reloads Drupal databases using drush.
This module will dump all the tables from a source database in parallel
and simultaneously begin importing tables into a destination database.
Once the dump and import is complete drush updb
will be run against the
destination site. This is particularly useful for very large databases that
would otherwise take a long time to dump then import.
Installation
$ npm install -g drush-reloadp
Usage
$ drush-reloadp -s @source.alias -d @dest.alias
Advanced usage
$ drush-reloadp -s <source.alias> -d <dest.alias> [-t <table1>[,<table2>...]] [-vr] [--version]
Options:
-s, --source The source drush alias to dump the database from. [required]
-d, --dest The destination drush alias to import the database to. [required]
-v, --verbose Print more information about what's happening during the process.
-t, --skip-tables Comma delimited list of tables to skip imports of.
-r, --skip-drop Skip dropping tables from the destination database.
--version Return the version of drush-reloadp.
Caveats
This method sacrifices consistency for speed. If the source database is receiving new data it's possible to end up with a missing relations for data that was created on tables that were already imported.
Some strategies to avoid this:
- Run this code against a low traffic site (i.e. a staging environment).
- Lock the source site so new content cannot be created.
- Do nothing – in practice this hasn't been a problem for the sites I've used it on.
License
MIT.
Credits
This module was inspired by mysql-parallel.