diff options
Diffstat (limited to 'app/Console')
-rw-r--r-- | app/Console/DatabaseMigrationCommand.php | 23 | ||||
-rw-r--r-- | app/Console/DatabaseVersionCommand.php | 23 | ||||
-rw-r--r-- | app/Console/JobCommand.php | 35 |
3 files changed, 81 insertions, 0 deletions
diff --git a/app/Console/DatabaseMigrationCommand.php b/app/Console/DatabaseMigrationCommand.php new file mode 100644 index 00000000..252d4369 --- /dev/null +++ b/app/Console/DatabaseMigrationCommand.php @@ -0,0 +1,23 @@ +<?php + +namespace Kanboard\Console; + +use Kanboard\ServiceProvider\DatabaseProvider; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class DatabaseMigrationCommand extends DatabaseVersionCommand +{ + protected function configure() + { + $this + ->setName('db:migrate') + ->setDescription('Execute SQL migrations'); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + parent::execute($input, $output); + DatabaseProvider::runMigrations($this->container['db']); + } +} diff --git a/app/Console/DatabaseVersionCommand.php b/app/Console/DatabaseVersionCommand.php new file mode 100644 index 00000000..5b1f1ed1 --- /dev/null +++ b/app/Console/DatabaseVersionCommand.php @@ -0,0 +1,23 @@ +<?php + +namespace Kanboard\Console; + +use Kanboard\ServiceProvider\DatabaseProvider; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class DatabaseVersionCommand extends BaseCommand +{ + protected function configure() + { + $this + ->setName('db:version') + ->setDescription('Show database schema version'); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $output->writeln('<info>Current version: '.DatabaseProvider::getSchemaVersion($this->container['db']).'</info>'); + $output->writeln('<info>Last version: '.\Schema\VERSION.'</info>'); + } +} diff --git a/app/Console/JobCommand.php b/app/Console/JobCommand.php new file mode 100644 index 00000000..bdaae32f --- /dev/null +++ b/app/Console/JobCommand.php @@ -0,0 +1,35 @@ +<?php + +namespace Kanboard\Console; + +use Kanboard\Core\Queue\JobHandler; +use SimpleQueue\Job; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +/** + * Class JobCommand + * + * @package Kanboard\Console + * @author Frederic Guillot + */ +class JobCommand extends BaseCommand +{ + protected function configure() + { + $this + ->setName('job') + ->setDescription('Execute individual job (read payload from stdin)') + ; + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $payload = fgets(STDIN); + + $job = new Job(); + $job->unserialize($payload); + + JobHandler::getInstance($this->container)->executeJob($job); + } +} |