1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php
- namespace Drush\Commands;
- use Consolidation\AnnotatedCommand\CommandData;
- /**
- * Edit this file to reflect your organization's needs.
- */
- class PolicyCommands extends DrushCommands {
- /**
- * Prevent catastrophic braino. Note that this file has to be local to the
- * machine that initiates the sql:sync command.
- *
- * @hook validate sql:sync
- *
- * @throws \Exception
- */
- public function sqlSyncValidate(CommandData $commandData) {
- if ($commandData->input()->getArgument('target') == '@prod') {
- throw new \Exception(dt('Per !file, you may never overwrite the production database.', ['!file' => __FILE__]));
- }
- }
- /**
- * Limit rsync operations to production site.
- *
- * @hook validate core:rsync
- *
- * @throws \Exception
- */
- public function rsyncValidate(CommandData $commandData) {
- if (preg_match("/^@prod/", $commandData->input()->getArgument('target'))) {
- throw new \Exception(dt('Per !file, you may never rsync to the production site.', ['!file' => __FILE__]));
- }
- }
- }
|