예제 #1
0
파일: Init.php 프로젝트: cti/scheduler
 function init(Master $master, DBAL $adapter)
 {
     if (!$master->getJobs()->findByPk(array('id_job' => 0))) {
         $job = $master->create('job', array('name' => 'Scheduler', 'status' => 'A', 'system' => true));
         $job->save();
         $adapter->commit();
     }
 }
예제 #2
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $fs = new Filesystem();
     $schema = $this->application->getStorage()->getSchema();
     // create.sql
     $dbalToSchema = $this->dbalConverter->convert($schema);
     $dbalFromSchema = $schema = new \Doctrine\DBAL\Schema\Schema();
     $this->generator->setToSchema($dbalToSchema);
     $this->generator->setFromSchema($dbalFromSchema);
     $queries = $this->generator->migrate();
     $debug = $input->getArgument('debug') == true;
     $create = $this->application->getProject()->getPath('build sql create.sql');
     if ($debug) {
         echo "- build create.sql" . PHP_EOL;
     }
     $output->writeln('Create ' . $create);
     $fs->dumpFile($create, implode(";\n", $queries) . ';');
     // migrate.sql
     $dbalFromSchema = $this->dbal->getSchemaManager()->createSchema();
     $this->generator->setFromSchema($dbalFromSchema);
     $queries = $this->generator->migrate();
     $migrate = $this->application->getProject()->getPath('build sql migrate.sql');
     if ($debug) {
         echo "- build migrate.sql" . PHP_EOL;
     }
     $output->writeln('Create ' . $migrate);
     $fs->dumpFile($migrate, implode(";\n", $queries) . (count($queries) ? ';' : ''));
     if (!$debug) {
         echo implode(";\n", $queries) . ';';
     }
     if ($input->getOption('test') != true) {
         foreach ($queries as $query) {
             $this->dbal->executeQuery($query);
         }
         if ($input->getOption('commit') == true) {
             $this->dbal->commit();
         }
     }
 }
예제 #3
0
파일: Scheduler.php 프로젝트: cti/scheduler
 function deleteJob($id_job, JobRepository $repository)
 {
     $repository->findByPk(array('id_job' => $id_job))->delete();
     $this->database->commit();
 }