diff --git a/src/Console/UpgradeCommand.php b/src/Console/UpgradeCommand.php index b8a80f21e..42605d116 100644 --- a/src/Console/UpgradeCommand.php +++ b/src/Console/UpgradeCommand.php @@ -68,9 +68,13 @@ class UpgradeCommand extends Command $migrator = $extensions->getMigrator(); foreach ($extensions->getInfo() as $extension) { + if (! $extensions->isEnabled($extension->name)) { + continue; + } + $this->info('Upgrading extension: '.$extension->name); - $extensions->enable($extension->name); + $extensions->migrate($extension->name); foreach ($migrator->getNotes() as $note) { $this->info($note); diff --git a/src/Support/Extension.php b/src/Support/Extension.php index 4b1192927..4a1ddb59b 100644 --- a/src/Support/Extension.php +++ b/src/Support/Extension.php @@ -15,14 +15,6 @@ use Illuminate\Events\Dispatcher; class Extension extends ServiceProvider { - public function install() - { - } - - public function uninstall() - { - } - public function listen(Dispatcher $events) { } diff --git a/src/Support/ExtensionManager.php b/src/Support/ExtensionManager.php index 66a22a694..7d8b7ddd9 100644 --- a/src/Support/ExtensionManager.php +++ b/src/Support/ExtensionManager.php @@ -48,15 +48,11 @@ class ExtensionManager public function enable($extension) { - $enabled = $this->getEnabled(); - - if (! in_array($extension, $enabled)) { + if (! $this->isEnabled($extension)) { $enabled[] = $extension; $class = $this->load($extension); - $class->install(); - $this->migrate($extension); $this->setEnabled($enabled); @@ -80,12 +76,10 @@ class ExtensionManager $class = $this->load($extension); - $class->uninstall(); - $this->migrate($extension, false); } - protected function migrate($extension, $up = true) + public function migrate($extension, $up = true) { $migrationDir = base_path('../extensions/' . $extension . '/migrations'); @@ -119,6 +113,11 @@ class ExtensionManager $this->config->set('extensions_enabled', json_encode($enabled)); } + public function isEnabled($extension) + { + return in_array($extension, $this->getEnabled()); + } + protected function load($extension) { if (file_exists($file = $this->getExtensionsDir() . '/' . $extension . '/bootstrap.php')) {