예제 #1
0
 /**
  * @dataProvider providerRollbackSuccess
  * @param $module
  * @param $step
  * @param $tableFilter
  * @param $expected
  */
 public function testRollbackSuccess($module, $step, $tableFilter, $expected)
 {
     self::$manager->up($module);
     $result = self::$db->query("SHOW TABLES LIKE '" . $tableFilter . "';", Adapter::QUERY_MODE_EXECUTE);
     $this->assertEquals(5, $result->count());
     self::$manager->rollback($module, $step);
     $result = self::$db->query("SHOW TABLES LIKE '" . $tableFilter . "';", Adapter::QUERY_MODE_EXECUTE);
     $this->assertEquals($expected, $result->count());
     foreach ($result->toArray() as $data) {
         foreach ($data as $tableName) {
             self::$db->query("DROP TABLE `" . $tableName . "`", Adapter::QUERY_MODE_EXECUTE);
         }
     }
 }
예제 #2
0
 /**
  * up
  */
 public function upAction()
 {
     $module = $this->request->getParam('module');
     if ($module) {
         $this->console->writeLine('Only for module "' . $module . '":');
     }
     $migration = $this->request->getParam('to');
     $includeModules = $this->request->getParam('includemodules');
     try {
         $this->manager->up($module, $migration, $includeModules);
         foreach ($this->manager->getMessages() as $message) {
             $this->console->writeLine($message, Color::GREEN);
         }
     } catch (ZFCToolException $e) {
         $this->console->writeLine($e->getMessage(), Color::RED);
     } catch (\Exception $e) {
         $this->console->writeLine($e->getMessage(), Color::RED);
     }
 }