5 * Examples of valid statements for a Drush runtime config (drushrc) file.
7 * Use this file to cut down on typing out lengthy and repetitive command line
8 * options in the Drush commands you use and to avoid mistakes.
10 * Rename this file to drushrc.php and optionally copy it to one of the places
11 * listed below in order of precedence:
13 * 1. Drupal site folder (e.g. sites/{default|example.com}/drushrc.php).
14 * 2. Drupal /drush and sites/all/drush folders, or the /drush folder
15 * in the directory above the Drupal root.
16 * 3. In any location, as specified by the --config (-c) option.
17 * 4. User's .drush folder (i.e. ~/.drush/drushrc.php).
18 * 5. System wide configuration folder (e.g. /etc/drush/drushrc.php).
19 * 6. Drush installation folder.
21 * If a configuration file is found in any of the above locations, it will be
22 * loaded and merged with other configuration files in the search list.
24 * If you have some configuration options that are specific to a particular
25 * version of Drush, then you may place them in a file called drush5rc.php.
26 * The version-specific file is loaded in addition to, and after, the general-
27 * purpose drushrc file. Version-specific configuration files can be placed
28 * in any of the locations specified above.
30 * IMPORTANT NOTE regarding configuration file on Windows:
32 * For Windows 7, Windows Vista, Windows Server 2008 and later versions is the
33 * system window configuration folder C:\ProgramData\Drush. For previous
34 * versions of Windows is the folder C:\Documents and Settings\All Users\Drush.
36 * IMPORTANT NOTE on configuration file loading:
38 * At its core, Drush works by "bootstrapping" the Drupal environment in very
39 * much the same way that is done during a normal page request from the web
40 * server, so most Drush commands run in the context of a fully-initialized
43 * Configuration files are loaded in the reverse order they are shown above. All
44 * configuration files are loaded in the first bootstrapping phase, but
45 * a configuration file in a specific Drupal site folder other than the default
46 * (eg, sites/example.com/drushrc.php) will not be loaded unless a specific
47 * Drupal site is selected. However, it _will_ be loaded if a site is selected
48 * (either via the current working directory or by use of the --uri option),
49 * even if the Drush command being run does not bootstrap to the Drupal Site
52 * The Drush commands 'rsync' and 'sql-sync' are special cases. These commands
53 * will load the configuration file for the site specified by the source
54 * parameter; however, they do not load the configuration file for the site
55 * specified by the destination parameter, nor do they load configuration files
58 * See `drush topic docs-bootstrap` for more information on how bootstrapping
59 * affects the loading of Drush configuration files.
62 // Specify the base_url that should be used when generating links
63 # $options['l'] = 'http://example.com/subdir';
65 // Specify your Drupal core base directory (useful if you use symlinks).
66 # $options['r'] = '/home/USER/workspace/drupal-6';
69 * Useful shell aliases:
71 * Drush shell aliases act similar to git aliases. For best results, define
72 * aliases in one of the drushrc file locations between #3 through #6 above.
73 * More information on shell aliases can be found via:
74 * `drush topic docs-shell-aliases` on the command line.
76 * @see https://git.wiki.kernel.org/index.php/Aliases#Advanced
78 # $options['shell-aliases']['pull'] = '!git pull'; // We've all done it.
79 # $options['shell-aliases']['pulldb'] = '!git pull && drush updatedb';
80 # $options['shell-aliases']['noncore'] = 'pm-list --no-core';
81 # $options['shell-aliases']['self-alias'] = 'site-alias @self --with-db --alias-name=new';
82 # $options['shell-aliases']['site-get'] = '@none php-eval "return drush_sitealias_site_get();"';
83 // Add a 'pm-clone' to simplify git cloning from drupal.org.
84 # $options['shell-aliases']['pm-clone'] = 'pm-download --gitusername=YOURUSERNAME --package-handler=git_drupalorg';
85 // Save a sanitized sql dump. Customize alias names and --result-file.
86 # $options['shell-aliases']['sql-transfer'] = 'drush sql-sync @source @temp --sanitize && drush @temp sql-dump --result-file=/example && drush @temp sql-drop';
89 # $options['shell-aliases']['offline'] = 'drush sset system.maintenance_mode 1 --input-format=integer';
90 # $options['shell-aliases']['online'] = 'drush sset system.maintenance_mode 0 --input-format=integer';
91 # $options['shell-aliases']['cpull'] = 'config-pull @example.prod @self --label=vcs';
92 # $options['shell-aliases']['wipe'] = 'cache-rebuild';
95 # $options['shell-aliases']['offline'] = 'variable-set -y --always-set maintenance_mode 1';
96 # $options['shell-aliases']['online'] = 'variable-delete -y --exact maintenance_mode';
97 # $options['shell-aliases']['wipe'] = 'cache-clear all';
98 # $options['shell-aliases']['dis-all'] = '!drush -y dis `drush pml --status=enabled --type=module --no-core --pipe`';
99 # $options['shell-aliases']['unsuck'] = 'pm-disable -y overlay,dashboard';
102 * Load a drushrc.php configuration file from the current working directory.
104 # $options['config'][] = './drushrc.php';
107 * By default, Drush will download projects compatible with the current
108 * version of Drupal, or, if no Drupal site is specified, then the Drupal-8
109 * version of the project is downloaded. Set default-major to select a
110 * different default version.
112 # $options['default-major'] = 7;
114 // Clone extensions (modules, themes, etc.) from drupal.org via 'pm-download'.
115 # $options['package-handler'] = 'git_drupalorg';
118 * Specify folders to search for Drush command files (*.drush.inc). These
119 * values are always merged with include paths defined on the command line or
120 * in other configuration files. On the command line, paths may be separated
121 * by a colon (:) on Unix-based systems or a semi-colon (;) on Windows.
123 # $options['include'] = array('/path/to/commands','/path2/to/more/commands');
126 * Specify the modules to ignore when searching for command files (*.drush.inc)
127 * inside a Drupal site.
129 # $options['ignored-modules'] = array('module1', 'module2');
132 * Specify the folders to search for Drush alias files (*.alias.drushrc.php and
133 * *.aliases.drushrc.php). These values are always merged with alias paths
134 * defined on the command line or in other configuration files. On the command
135 * line, paths may be separated by a colon (:) on Unix-based systems or a
136 * semi-colon (;) on Windows.
138 # $options['alias-path'] = array('/path/to/aliases','/path2/to/more/aliases');
141 * Specify the filename and path where 'sql-dump' should store backups of
142 * database dumps. The default is to dump to STDOUT, however if this option is
143 * set in a drushrc.php file, the default behaviour can be achieved by
144 * specifying a value of FALSE ("--result-file=0" on the command line). Two
145 * substitution tokens are available: @DATABASE is replaced with the name of the
146 * database being dumped, and @DATE is replaced with the current time and date
147 * of the dump of the form: YYYYMMDD_HHMMSS. A value of TRUE ("--result-file=1"
148 * on the command line) will cause 'sql-dump' to use the same temporary backup
149 * location as 'pm-updatecode'.
151 # $options['result-file'] = TRUE;
152 # $options['result-file'] = '/path/to/backup/dir/@DATABASE_@DATE.sql';
154 // Notify user via Notification Center (OSX) or libnotify (Linux) when command
155 // takes more than 30 seconds. See global options for more configuration.
156 # $options['notify'] = 30;
158 // Enable verbose mode.
161 // Show database passwords in 'status' and 'sql-conf' commands.
162 # $options['show-passwords'] = 1;
165 * Specify the logging level for PHP notices. Defaults to "notice". Set to
166 * "warning" when doing Drush development. Also make sure that error_reporting
167 * is set to E_ALL in your php configuration file. See `drush status` for the
168 * path to your php.ini file.
170 # $options['php-notices'] = 'warning';
173 * Specify the error handling of recoverable errors (E_RECOVERABLE_ERROR).
174 * Defaults to 1 and will stop execution of Drush.
175 * When set to 0, execution will continue.
177 # $options['halt-on-error'] = 0;
180 * Specify options to pass to ssh in backend invoke. The default is to prohibit
181 * password authentication, and is included here, so you may add additional
182 * parameters without losing the default configuration.
184 # $options['ssh-options'] = '-o PasswordAuthentication=no';
186 // Set 'remote-os' to 'Windows' to make Drush use Windows shell escape rules
187 // for remote sites that do not have an 'os' item set.
188 # $options['remote-os'] = 'Linux';
190 // By default, unknown options are disallowed and result in an error. Change
191 // them to issue only a warning and let command proceed.
192 # $options['strict'] = FALSE;
195 * Drush requires at least rsync version 2.6.9 for some functions to work
196 * correctly. rsync version 2.6.8 or earlier may give the following error
197 * message: "--remove-source-files: unknown option". To fix this, set
198 * $options['rsync-version'] = '2.6.8'; (replace with the lowest version of
199 * rsync installed on any system you are using with Drush). Note that this
200 * option can also be set in a site alias, which is the preferred solution if
201 * newer versions of rsync are available on some of the systems you use.
202 * See: http://drupal.org/node/955092
204 # $options['rsync-version'] = '2.6.9';
207 * The output charset suitable to pass to the iconv PHP function's out_charset
210 * Drush will convert its output from UTF-8 to the charset specified here. It
211 * is possible to use //TRANSLIT and //IGNORE charset name suffixes (see iconv
212 * documentation). If not defined, conversion will not be performed.
214 # $options['output_charset'] = 'ISO-8859-1';
215 # $options['output_charset'] = 'KOI8-R//IGNORE';
216 # $options['output_charset'] = 'ISO-8859-1//TRANSLIT';
219 * Multiple-site execution options:
221 * Some drush commands such as 'sql-sync' are intended for or capable of being
222 * executed on multiple sites or server environments and will pass along the
223 * options specified here to all instances of the command being executed.
227 * By default, Drush will prepend the name of the site to the output of any
228 * multiple-site command execution. To disable this behavior, set the
229 * "--no-label" option.
231 # $options['no-label'] = TRUE;
234 * An explicit list of tables which should be included in sql-dump and sql-sync.
236 # $options['tables']['common'] = array('user', 'permissions', 'role_permission', 'role');
239 * List of tables whose *data* is skipped by the 'sql-dump' and 'sql-sync'
240 * commands when the "--structure-tables-key=common" option is provided.
241 * You may add specific tables to the existing array or add a new element.
243 # $options['structure-tables']['common'] = array('cache', 'cache_*', 'history', 'search_*', 'sessions', 'watchdog');
246 * List of tables to be omitted entirely from SQL dumps made by the 'sql-dump'
247 * and 'sql-sync' commands when the "--skip-tables-key=common" option is
248 * provided on the command line. This is useful if your database contains
249 * non-Drupal tables used by some other application or during a migration for
250 * example. You may add new tables to the existing array or add a new element.
252 # $options['skip-tables']['common'] = array('migration_*');
255 * Override specific entries in Drupal's variable system or settings.php (D6/D7 only).
257 # $options['variables']['site_name'] = 'My Drupal site';
258 # $options['variables']['theme_default'] = 'minnelli';
259 # $options['variables']['anonymous'] = 'Visitor';
262 * Command-specific execution options:
264 * Most execution options can be shared between multiple Drush commands; these
265 * are specified as top-level elements of the $options array in the prior
266 * examples above. On the other hand, other options are command-specific, and,
267 * in some cases, a shared option needs a different configuration depending on
268 * which command is being executing.
270 * To define options that are only applicable to certain commands, make an entry
271 * in the $command-specific array as shown below. The name of the command may
272 * be either the command's full name or any of the command's aliases.
274 * Options defined here will be overridden by options of the same name on the
275 * command line. Unary flags such as "--verbose" are overridden via special
276 * "--no-xxx" options (e.g. "--no-verbose").
278 * Limitation: If 'verbose' is set in a command-specific option, it must be
279 * cleared by '--no-verbose', not '--no-v', and visa-versa.
282 // Ensure all rsync commands use verbose output.
283 # $command_specific['rsync'] = array('verbose' => TRUE);
285 // Prevent drush ssh command from adding a cd to Drupal root before provided command.
286 # $command_specific['ssh'] = array('cd' => FALSE);
288 // Additional folders to search for scripts.
289 // Separate by : (Unix-based systems) or ; (Windows).
290 # $command_specific['script']['script-path'] = 'sites/all/scripts:profiles/myprofile/scripts';
292 // Always show release notes when running pm-update or pm-updatecode.
293 # $command_specific['pm-update'] = array('notes' => TRUE);
294 # $command_specific['pm-updatecode'] = array('notes' => TRUE);
296 // Set a predetermined username and password when using site-install.
297 # $command_specific['site-install'] = array('account-name' => 'alice', 'account-pass' => 'secret');
299 // Use Drupal version specific CLI history instead of per site.
300 # $command_specific['core-cli'] = array('version-history' => TRUE);