public function migrateDown($module, $class)
{
Yii::log(Yii::t('YupeModule.yupe', "Downgrade migration {class}", ['{class}' => $class]));
$db = $this->getDbConnection();
$start = microtime(true);
$migration = $this->instantiateMigration($module, $class);
ob_start();
ob_implicit_flush(false);
$result = $migration->down();
Yii::log($msg = ob_get_clean());
Yii::app()->getCache()->clear('getMigrationHistory');
if ($result !== false) {
$db->createCommand()->delete($db->tablePrefix . $this->migrationTable, ['AND', $db->quoteColumnName('version') . "=" . $db->quoteValue($class), ['AND', $db->quoteColumnName('module') . "=" . $db->quoteValue($module)]]);
$time = microtime(true) - $start;
Yii::log(Yii::t('YupeModule.yupe', "Migration {class} downgrated for {s} seconds.", ['{class}' => $class, '{s}' => sprintf("%.3f", $time)]));
return true;
} else {
$time = microtime(true) - $start;
Yii::log(Yii::t('YupeModule.yupe', "Error when downgrading {class} ({s} сек.)", ['{class}' => $class, '{s}' => sprintf("%.3f", $time)]));
throw new CException(Yii::t('YupeModule.yupe', 'Error was found when installing: {error}', ['{error}' => $msg]));
}
}