/** * Reset Database of magento2 */ public function actionResetAll() { $dataPath = Yii::app()->basePath . DIRECTORY_SEPARATOR . "data" . DIRECTORY_SEPARATOR; $steps = MigrateSteps::model()->findAll(); $mage2ver = MigrateSteps::getMG2Version() == '2.1.0' ? '2.1.0' : ''; if ($steps) { foreach ($steps as $step) { //only for step1 if ($step->sorder == 1) { $step->status = MigrateSteps::STATUS_NOT_DONE; $step->migrated_data = null; $step->update(); } else { //other steps $resetSQLFile = $dataPath . "step{$step->sorder}_reset{$mage2ver}.sql"; if (file_exists($resetSQLFile)) { $rs = MigrateSteps::executeFile($resetSQLFile); if ($rs) { $step->status = MigrateSteps::STATUS_NOT_DONE; $step->migrated_data = null; $step->update(); } } else { Yii::app()->user->setFlash('error', Yii::t('frontend', "Missing reset SQL file <strong>step{$step->sorder}_reset{$mage2ver}.sql</strong>")); $this->redirect(MigrateSteps::getNextSteps()); } } } //delete url related data in url_rewrite table and catalog_url_rewrite_product_category table Mage2UrlRewrite::model()->deleteAll("entity_type = 'category'"); //delete url related data in url_rewrite table and catalog_url_rewrite_product_category table Mage2UrlRewrite::model()->deleteAll("entity_type = 'product'"); //flush cached Yii::app()->cache->flush(); Yii::app()->user->setFlash('success', Yii::t('frontend', "Reset all successfully.")); //Redirect to next step $nextStep = MigrateSteps::getNextSteps(); $this->redirect(array($nextStep)); } }