|
13 | 13 | use \Terminus\Helpers\Input; |
14 | 14 | use \Terminus\Deploy; |
15 | 15 | use \Terminus\SiteWorkflow; |
| 16 | +use \Terminus\EnvironmentWorkflow; |
16 | 17 |
|
17 | 18 | class Site_Command extends Terminus_Command { |
18 | 19 |
|
@@ -563,20 +564,25 @@ public function clone_env($args, $assoc_args) { |
563 | 564 |
|
564 | 565 | $confirm = sprintf("Are you sure?\n\tClone from %s to %s\n\tInclude: %s\n", strtoupper($from_env), strtoupper($to_env), $append); |
565 | 566 | \Terminus::confirm($confirm); |
566 | | - |
567 | | - if ( !$this->envExists($site_id, $to_env) ) { |
568 | | - \Terminus::error("The %s environment has not been created yet. run `terminus site create-env [--site=<env>]`", $to_env); |
569 | | - } |
| 567 | + $to_env = $site->environment($to_env); |
| 568 | + $from_env = $site->environment($from_env); |
570 | 569 |
|
571 | 570 | if ($db) { |
572 | | - print "Cloning database ... "; |
573 | | - $this->cloneObject( $to_env, $from_env, $site_id, 'database'); |
| 571 | + print "Cloning database ... "; |
| 572 | + $workflow = new EnvironmentWorkflow('clone_database','sites', $to_env); |
| 573 | + $workflow->setParams(array('from_environment' => $from_env->name)); |
| 574 | + $workflow->setMethod('POST'); |
| 575 | + $workflow->start()->wait();; |
574 | 576 | } |
575 | 577 |
|
576 | 578 | if ($files) { |
577 | 579 | print "Cloning files ... "; |
578 | | - $this->cloneObject( $to_env, $from_env, $site_id, 'files'); |
| 580 | + $workflow = new EnvironmentWorkflow('clone_files','sites', $to_env); |
| 581 | + $workflow->setParams(array('from_environment' => $from_env->name)); |
| 582 | + $workflow->setMethod('POST'); |
| 583 | + $workflow->start()->wait(); |
579 | 584 | } |
| 585 | + |
580 | 586 | \Terminus::success("Clone complete!"); |
581 | 587 | return true; |
582 | 588 | } |
@@ -741,12 +747,6 @@ function environments($args, $assoc_args) { |
741 | 747 | return $data; |
742 | 748 | } |
743 | 749 |
|
744 | | - private function envExists($site_id, $env) { |
745 | | - $response = \Terminus_Command::request('sites', $site_id, 'code-tips', 'GET'); |
746 | | - $envs = (array) $response['data']; |
747 | | - return array_key_exists($env, $envs); |
748 | | - } |
749 | | - |
750 | 750 | /** |
751 | 751 | * Hostname operations |
752 | 752 | * |
|
0 commit comments