public function safeUp()
 {
     $rows = (new \yii\db\Query())->select(['id', 'files'])->from('cms_tree')->all();
     if ($rows) {
         foreach ($rows as $row) {
             /**
              * @var \skeeks\cms\models\CmsTree $model
              */
             if (!($modelId = \yii\helpers\ArrayHelper::getValue($row, 'id'))) {
                 continue;
             }
             if (!($model = \skeeks\cms\models\CmsTree::findOne($modelId))) {
                 continue;
             }
             $files = \yii\helpers\ArrayHelper::getValue($row, 'files');
             if (!$files) {
                 continue;
             }
             $files = Json::decode($files);
             if ($images = \yii\helpers\ArrayHelper::getValue($files, 'images')) {
                 foreach ($images as $src) {
                     $storageFile = \skeeks\cms\models\StorageFile::find()->where(['src' => $src])->one();
                     if ($storageFile) {
                         if (!$model->getCmsTreeImages()->andWhere(['storage_file_id' => $storageFile->id])->one()) {
                             $model->link('images', $storageFile);
                         }
                     }
                 }
             }
             if ($files = \yii\helpers\ArrayHelper::getValue($files, 'files')) {
                 foreach ($files as $src) {
                     $storageFile = \skeeks\cms\models\StorageFile::find()->where(['src' => $src])->one();
                     if ($storageFile) {
                         if (!$model->getCmsTreeFiles()->andWhere(['storage_file_id' => $storageFile->id])->one()) {
                             $model->link('files', $storageFile);
                         }
                     }
                 }
             }
         }
     }
     $rows = (new \yii\db\Query())->select(['id', 'files'])->from('cms_content_element')->all();
     if ($rows) {
         foreach ($rows as $row) {
             /**
              * @var \skeeks\cms\models\CmsContentElement $model
              */
             if (!($modelId = \yii\helpers\ArrayHelper::getValue($row, 'id'))) {
                 continue;
             }
             if (!($model = \skeeks\cms\models\CmsContentElement::findOne($modelId))) {
                 continue;
             }
             $files = \yii\helpers\ArrayHelper::getValue($row, 'files');
             if (!$files) {
                 continue;
             }
             $files = Json::decode($files);
             if ($images = \yii\helpers\ArrayHelper::getValue($files, 'images')) {
                 foreach ($images as $src) {
                     $storageFile = \skeeks\cms\models\StorageFile::find()->where(['src' => $src])->one();
                     if ($storageFile) {
                         if (!$model->getCmsContentElementImages()->andWhere(['storage_file_id' => $storageFile->id])->one()) {
                             $model->link('images', $storageFile);
                         }
                     }
                 }
             }
             if ($files = \yii\helpers\ArrayHelper::getValue($files, 'files')) {
                 foreach ($files as $src) {
                     $storageFile = \skeeks\cms\models\StorageFile::find()->where(['src' => $src])->one();
                     if ($storageFile) {
                         if (!$model->getCmsContentElementFiles()->andWhere(['storage_file_id' => $storageFile->id])->one()) {
                             $model->link('files', $storageFile);
                         }
                     }
                 }
             }
         }
     }
 }